﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace AmazonMODEL
{
    #region CameraPhoto
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
    public partial class CameraPhoto
    {

        #region Field
        private CameraPhotoProductType productTypeField;

        private string manufacturerField;

        private string modelNameField;

        private string modelNumberField;

        private string mfrPartNumberField;

        private string colorField;

        private string colorMapField;

        private string itemsIncludedField;

        private string[] keywordsField;

        private string[] platinumKeywordsField;

        private string[] audioInputField;

        private string[] autoFocusTechnologyField;

        private string[] compatibleDevicesField;

        private string[] compatibleMountingsField;

        private string deviceTypeField;

        private string displayTechnologyField;

        private string displayTypeField;

        private string filmSpeedRangeField;

        private string finderscopeField;

        private string[] formFactorField;

        private string guideNumberField;

        private string hardwarePlatformField;

        private bool hasImageStabilizerField;

        private bool hasImageStabilizerFieldSpecified;

        private string imageAreaField;

        private LengthDimension itemDisplayDiameterField;

        private LengthDimension itemDisplayDepthField;

        private LengthDimension itemDisplayHeightField;

        private LengthDimension itemDisplayLengthField;

        private WeightDimension itemDisplayWeightField;

        private LengthDimension itemDisplayWidthField;

        private LengthDimension itemThicknessField;

        private string lensCoverageField;

        private string[] lensSystemSpecialFunctionsField;

        private string lightSensitivityField;

        private string manufacturerWarrantyDescriptionField;

        private string maximumApertureRangeField;

        private LengthDimension maximumHeightField;

        private WeightIntegerDimension maximumManufacturerWeightRecommendedField;

        private string[] mediaTypeField;

        private MemorySizeDimension memoryStorageCapacityField;

        private string memoryTechnologyField;

        private string[] microphoneOperationModeField;

        private LengthDimension minFocalRangeField;

        private LengthDimension minimumHeightField;

        private string mountingTypeField;

        private PixelDimension opticalSensorResolutionField;

        private string opticalSensorSizeField;

        private string opticalSensorTechnologyField;

        private string rangefinderTypeField;

        private string remoteControlDescriptionField;

        private string removableStorageInterfaceField;

        private string rollQuantityField;

        private string[] shootingModesField;

        private string[] supportedImageTypeField;

        private string[] videoInputField;

        private string[] videoInputFormatField;

        private string[] videoInputSpecialEffectsField; 
        #endregion

        /// <remarks/>
        public CameraPhotoProductType ProductType
        {
            get
            {
                return this.productTypeField;
            }
            set
            {
                this.productTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string Manufacturer
        {
            get
            {
                return this.manufacturerField;
            }
            set
            {
                this.manufacturerField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ModelName
        {
            get
            {
                return this.modelNameField;
            }
            set
            {
                this.modelNameField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ModelNumber
        {
            get
            {
                return this.modelNumberField;
            }
            set
            {
                this.modelNumberField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string MfrPartNumber
        {
            get
            {
                return this.mfrPartNumberField;
            }
            set
            {
                this.mfrPartNumberField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string Color
        {
            get
            {
                return this.colorField;
            }
            set
            {
                this.colorField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ColorMap
        {
            get
            {
                return this.colorMapField;
            }
            set
            {
                this.colorMapField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ItemsIncluded
        {
            get
            {
                return this.itemsIncludedField;
            }
            set
            {
                this.itemsIncludedField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Keywords", DataType = "normalizedString")]
        public string[] Keywords
        {
            get
            {
                return this.keywordsField;
            }
            set
            {
                this.keywordsField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("PlatinumKeywords", DataType = "normalizedString")]
        public string[] PlatinumKeywords
        {
            get
            {
                return this.platinumKeywordsField;
            }
            set
            {
                this.platinumKeywordsField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AudioInput", DataType = "normalizedString")]
        public string[] AudioInput
        {
            get
            {
                return this.audioInputField;
            }
            set
            {
                this.audioInputField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AutoFocusTechnology", DataType = "normalizedString")]
        public string[] AutoFocusTechnology
        {
            get
            {
                return this.autoFocusTechnologyField;
            }
            set
            {
                this.autoFocusTechnologyField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("CompatibleDevices", DataType = "normalizedString")]
        public string[] CompatibleDevices
        {
            get
            {
                return this.compatibleDevicesField;
            }
            set
            {
                this.compatibleDevicesField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("CompatibleMountings", DataType = "normalizedString")]
        public string[] CompatibleMountings
        {
            get
            {
                return this.compatibleMountingsField;
            }
            set
            {
                this.compatibleMountingsField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string DeviceType
        {
            get
            {
                return this.deviceTypeField;
            }
            set
            {
                this.deviceTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string DisplayTechnology
        {
            get
            {
                return this.displayTechnologyField;
            }
            set
            {
                this.displayTechnologyField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string DisplayType
        {
            get
            {
                return this.displayTypeField;
            }
            set
            {
                this.displayTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string FilmSpeedRange
        {
            get
            {
                return this.filmSpeedRangeField;
            }
            set
            {
                this.filmSpeedRangeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string Finderscope
        {
            get
            {
                return this.finderscopeField;
            }
            set
            {
                this.finderscopeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("FormFactor", DataType = "normalizedString")]
        public string[] FormFactor
        {
            get
            {
                return this.formFactorField;
            }
            set
            {
                this.formFactorField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string GuideNumber
        {
            get
            {
                return this.guideNumberField;
            }
            set
            {
                this.guideNumberField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string HardwarePlatform
        {
            get
            {
                return this.hardwarePlatformField;
            }
            set
            {
                this.hardwarePlatformField = value;
            }
        }

        /// <remarks/>
        public bool HasImageStabilizer
        {
            get
            {
                return this.hasImageStabilizerField;
            }
            set
            {
                this.hasImageStabilizerField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool HasImageStabilizerSpecified
        {
            get
            {
                return this.hasImageStabilizerFieldSpecified;
            }
            set
            {
                this.hasImageStabilizerFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ImageArea
        {
            get
            {
                return this.imageAreaField;
            }
            set
            {
                this.imageAreaField = value;
            }
        }

        /// <remarks/>
        public LengthDimension ItemDisplayDiameter
        {
            get
            {
                return this.itemDisplayDiameterField;
            }
            set
            {
                this.itemDisplayDiameterField = value;
            }
        }

        /// <remarks/>
        public LengthDimension ItemDisplayDepth
        {
            get
            {
                return this.itemDisplayDepthField;
            }
            set
            {
                this.itemDisplayDepthField = value;
            }
        }

        /// <remarks/>
        public LengthDimension ItemDisplayHeight
        {
            get
            {
                return this.itemDisplayHeightField;
            }
            set
            {
                this.itemDisplayHeightField = value;
            }
        }

        /// <remarks/>
        public LengthDimension ItemDisplayLength
        {
            get
            {
                return this.itemDisplayLengthField;
            }
            set
            {
                this.itemDisplayLengthField = value;
            }
        }

        /// <remarks/>
        public WeightDimension ItemDisplayWeight
        {
            get
            {
                return this.itemDisplayWeightField;
            }
            set
            {
                this.itemDisplayWeightField = value;
            }
        }

        /// <remarks/>
        public LengthDimension ItemDisplayWidth
        {
            get
            {
                return this.itemDisplayWidthField;
            }
            set
            {
                this.itemDisplayWidthField = value;
            }
        }

        /// <remarks/>
        public LengthDimension ItemThickness
        {
            get
            {
                return this.itemThicknessField;
            }
            set
            {
                this.itemThicknessField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string LensCoverage
        {
            get
            {
                return this.lensCoverageField;
            }
            set
            {
                this.lensCoverageField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("LensSystemSpecialFunctions", DataType = "normalizedString")]
        public string[] LensSystemSpecialFunctions
        {
            get
            {
                return this.lensSystemSpecialFunctionsField;
            }
            set
            {
                this.lensSystemSpecialFunctionsField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string LightSensitivity
        {
            get
            {
                return this.lightSensitivityField;
            }
            set
            {
                this.lightSensitivityField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ManufacturerWarrantyDescription
        {
            get
            {
                return this.manufacturerWarrantyDescriptionField;
            }
            set
            {
                this.manufacturerWarrantyDescriptionField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string MaximumApertureRange
        {
            get
            {
                return this.maximumApertureRangeField;
            }
            set
            {
                this.maximumApertureRangeField = value;
            }
        }

        /// <remarks/>
        public LengthDimension MaximumHeight
        {
            get
            {
                return this.maximumHeightField;
            }
            set
            {
                this.maximumHeightField = value;
            }
        }

        /// <remarks/>
        public WeightIntegerDimension MaximumManufacturerWeightRecommended
        {
            get
            {
                return this.maximumManufacturerWeightRecommendedField;
            }
            set
            {
                this.maximumManufacturerWeightRecommendedField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("MediaType", DataType = "normalizedString")]
        public string[] MediaType
        {
            get
            {
                return this.mediaTypeField;
            }
            set
            {
                this.mediaTypeField = value;
            }
        }

        /// <remarks/>
        public MemorySizeDimension MemoryStorageCapacity
        {
            get
            {
                return this.memoryStorageCapacityField;
            }
            set
            {
                this.memoryStorageCapacityField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string MemoryTechnology
        {
            get
            {
                return this.memoryTechnologyField;
            }
            set
            {
                this.memoryTechnologyField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("MicrophoneOperationMode", DataType = "normalizedString")]
        public string[] MicrophoneOperationMode
        {
            get
            {
                return this.microphoneOperationModeField;
            }
            set
            {
                this.microphoneOperationModeField = value;
            }
        }

        /// <remarks/>
        public LengthDimension MinFocalRange
        {
            get
            {
                return this.minFocalRangeField;
            }
            set
            {
                this.minFocalRangeField = value;
            }
        }

        /// <remarks/>
        public LengthDimension MinimumHeight
        {
            get
            {
                return this.minimumHeightField;
            }
            set
            {
                this.minimumHeightField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string MountingType
        {
            get
            {
                return this.mountingTypeField;
            }
            set
            {
                this.mountingTypeField = value;
            }
        }

        /// <remarks/>
        public PixelDimension OpticalSensorResolution
        {
            get
            {
                return this.opticalSensorResolutionField;
            }
            set
            {
                this.opticalSensorResolutionField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string OpticalSensorSize
        {
            get
            {
                return this.opticalSensorSizeField;
            }
            set
            {
                this.opticalSensorSizeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string OpticalSensorTechnology
        {
            get
            {
                return this.opticalSensorTechnologyField;
            }
            set
            {
                this.opticalSensorTechnologyField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string RangefinderType
        {
            get
            {
                return this.rangefinderTypeField;
            }
            set
            {
                this.rangefinderTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string RemoteControlDescription
        {
            get
            {
                return this.remoteControlDescriptionField;
            }
            set
            {
                this.remoteControlDescriptionField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string RemovableStorageInterface
        {
            get
            {
                return this.removableStorageInterfaceField;
            }
            set
            {
                this.removableStorageInterfaceField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string RollQuantity
        {
            get
            {
                return this.rollQuantityField;
            }
            set
            {
                this.rollQuantityField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ShootingModes", DataType = "normalizedString")]
        public string[] ShootingModes
        {
            get
            {
                return this.shootingModesField;
            }
            set
            {
                this.shootingModesField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("SupportedImageType", DataType = "normalizedString")]
        public string[] SupportedImageType
        {
            get
            {
                return this.supportedImageTypeField;
            }
            set
            {
                this.supportedImageTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("VideoInput", DataType = "normalizedString")]
        public string[] VideoInput
        {
            get
            {
                return this.videoInputField;
            }
            set
            {
                this.videoInputField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("VideoInputFormat", DataType = "normalizedString")]
        public string[] VideoInputFormat
        {
            get
            {
                return this.videoInputFormatField;
            }
            set
            {
                this.videoInputFormatField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("VideoInputSpecialEffects", DataType = "normalizedString")]
        public string[] VideoInputSpecialEffects
        {
            get
            {
                return this.videoInputSpecialEffectsField;
            }
            set
            {
                this.videoInputSpecialEffectsField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public partial class CameraPhotoProductType
    {

        private object itemField;

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("BagCase", typeof(BagCase))]
        [System.Xml.Serialization.XmlElementAttribute("Binocular", typeof(Binocular))]
        [System.Xml.Serialization.XmlElementAttribute("BlankMedia", typeof(BlankMedia))]
        [System.Xml.Serialization.XmlElementAttribute("Camcorder", typeof(Camcorder))]
        [System.Xml.Serialization.XmlElementAttribute("Cleaner", typeof(Cleaner))]
        [System.Xml.Serialization.XmlElementAttribute("Darkroom", typeof(Darkroom))]
        [System.Xml.Serialization.XmlElementAttribute("DigitalCamera", typeof(DigitalCamera))]
        [System.Xml.Serialization.XmlElementAttribute("Film", typeof(Film))]
        [System.Xml.Serialization.XmlElementAttribute("FilmCamera", typeof(FilmCamera))]
        [System.Xml.Serialization.XmlElementAttribute("Filter", typeof(Filter))]
        [System.Xml.Serialization.XmlElementAttribute("Flash", typeof(Flash))]
        [System.Xml.Serialization.XmlElementAttribute("LeFlashns", typeof(Lens))]
        [System.Xml.Serialization.XmlElementAttribute("LensAccessory", typeof(LensAccessory))]
        [System.Xml.Serialization.XmlElementAttribute("LightMeter", typeof(LightMeter))]
        [System.Xml.Serialization.XmlElementAttribute("Lighting", typeof(LightingType))]
        [System.Xml.Serialization.XmlElementAttribute("Microscope", typeof(Microscope))]
        [System.Xml.Serialization.XmlElementAttribute("OtherAccessory", typeof(OtherAccessory))]
        [System.Xml.Serialization.XmlElementAttribute("PhotoPaper", typeof(PhotoPaper))]
        [System.Xml.Serialization.XmlElementAttribute("PhotoStudio", typeof(PhotoStudio))]
        [System.Xml.Serialization.XmlElementAttribute("PowerSupply", typeof(PowerSupply))]
        [System.Xml.Serialization.XmlElementAttribute("Projection", typeof(Projection))]
        [System.Xml.Serialization.XmlElementAttribute("SurveillanceSystem", typeof(SurveillanceSystem))]
        [System.Xml.Serialization.XmlElementAttribute("Telescope", typeof(Telescope))]
        [System.Xml.Serialization.XmlElementAttribute("TripodStand", typeof(TripodStand))]
        public object Item
        {
            get
            {
                return this.itemField;
            }
            set
            {
                this.itemField = value;
            }
        }
    }

    #region BagCase
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
    public partial class BagCase
    {

        private BagCaseBagCaseType bagCaseTypeField;

        private bool bagCaseTypeFieldSpecified;

        private BagCaseStyle styleField;

        private bool styleFieldSpecified;

        private BagCaseMaterialType materialTypeField;

        private bool materialTypeFieldSpecified;

        private BagCaseFeatures[] featuresField;

        private BagCaseSpecificUses specificUsesField;

        private bool specificUsesFieldSpecified;

        /// <remarks/>
        public BagCaseBagCaseType BagCaseType
        {
            get
            {
                return this.bagCaseTypeField;
            }
            set
            {
                this.bagCaseTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool BagCaseTypeSpecified
        {
            get
            {
                return this.bagCaseTypeFieldSpecified;
            }
            set
            {
                this.bagCaseTypeFieldSpecified = value;
            }
        }

        /// <remarks/>
        public BagCaseStyle Style
        {
            get
            {
                return this.styleField;
            }
            set
            {
                this.styleField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool StyleSpecified
        {
            get
            {
                return this.styleFieldSpecified;
            }
            set
            {
                this.styleFieldSpecified = value;
            }
        }

        /// <remarks/>
        public BagCaseMaterialType MaterialType
        {
            get
            {
                return this.materialTypeField;
            }
            set
            {
                this.materialTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool MaterialTypeSpecified
        {
            get
            {
                return this.materialTypeFieldSpecified;
            }
            set
            {
                this.materialTypeFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Features")]
        public BagCaseFeatures[] Features
        {
            get
            {
                return this.featuresField;
            }
            set
            {
                this.featuresField = value;
            }
        }

        /// <remarks/>
        public BagCaseSpecificUses SpecificUses
        {
            get
            {
                return this.specificUsesField;
            }
            set
            {
                this.specificUsesField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool SpecificUsesSpecified
        {
            get
            {
                return this.specificUsesFieldSpecified;
            }
            set
            {
                this.specificUsesFieldSpecified = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum BagCaseBagCaseType
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("binocular-cases")]
        binocularcases,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("camcorder-cases")]
        camcordercases,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("camera-cases")]
        cameracases,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("combination-cases")]
        combinationcases,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("electronic-equipment-cases")]
        electronicequipmentcases,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("filter-cases")]
        filtercases,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("lens-cases")]
        lenscases,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("lighting-cases")]
        lightingcases,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("projection-cases")]
        projectioncases,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("scope-cases")]
        scopecases,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("stand-cases")]
        standcases,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("system-cases")]
        systemcases,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("telescope-cases")]
        telescopecases,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("tripod-cases")]
        tripodcases,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("light-meter-cases")]
        lightmetercases,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("other-purpose-cases")]
        otherpurposecases,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum BagCaseStyle
    {

        /// <remarks/>
        backpacks,

        /// <remarks/>
        beltpacks,

        /// <remarks/>
        briefcases,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("holster-style-cases")]
        holsterstylecases,

        /// <remarks/>
        portfolios,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("print-cases")]
        printcases,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("roller-cases")]
        rollercases,

        /// <remarks/>
        vests,

        /// <remarks/>
        wraps,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("waist-style-cases")]
        waiststylecases,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("compact-cases")]
        compactcases,

        /// <remarks/>
        pouches,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum BagCaseMaterialType
    {

        /// <remarks/>
        hard,

        /// <remarks/>
        soft,

        /// <remarks/>
        air,

        /// <remarks/>
        plastic,

        /// <remarks/>
        metal,

        /// <remarks/>
        cloth,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum BagCaseFeatures
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("x-ray-protection")]
        xrayprotection,

        /// <remarks/>
        weatherproof,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum BagCaseSpecificUses
    {

        /// <remarks/>
        travel,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("hiking-and-outdoors")]
        hikingandoutdoors,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("hunting-and-shooting")]
        huntingandshooting,

        /// <remarks/>
        sports,
    } 
    #endregion

    #region Binocular
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
    public partial class Binocular
    {

        private BinocularBinocularType binocularTypeField;

        private bool binocularTypeFieldSpecified;

        private string focusTypeField;

        private string prismTypeField;

        private LengthDimension objectiveLensDiameterField;

        private LengthDimension exitPupilDiameterField;

        private LengthDimension fieldOfViewField;

        private DegreeDimension apparentAngleOfViewField;

        private DegreeDimension realAngleOfViewField;

        private LengthDimension eyeReliefField;

        private string diopterAdjustmentRangeField;

        private string coatingField;

        private string eyepieceLensConstructionField;

        private string objectiveLensConstructionField;

        private bool tripodReadyField;

        private bool tripodReadyFieldSpecified;

        private BinocularFeatures[] featuresField;

        private ZoomDimension magnificationField;

        private BinocularSpecificUses specificUsesField;

        private bool specificUsesFieldSpecified;

        /// <remarks/>
        public BinocularBinocularType BinocularType
        {
            get
            {
                return this.binocularTypeField;
            }
            set
            {
                this.binocularTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool BinocularTypeSpecified
        {
            get
            {
                return this.binocularTypeFieldSpecified;
            }
            set
            {
                this.binocularTypeFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string FocusType
        {
            get
            {
                return this.focusTypeField;
            }
            set
            {
                this.focusTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string PrismType
        {
            get
            {
                return this.prismTypeField;
            }
            set
            {
                this.prismTypeField = value;
            }
        }

        /// <remarks/>
        public LengthDimension ObjectiveLensDiameter
        {
            get
            {
                return this.objectiveLensDiameterField;
            }
            set
            {
                this.objectiveLensDiameterField = value;
            }
        }

        /// <remarks/>
        public LengthDimension ExitPupilDiameter
        {
            get
            {
                return this.exitPupilDiameterField;
            }
            set
            {
                this.exitPupilDiameterField = value;
            }
        }

        /// <remarks/>
        public LengthDimension FieldOfView
        {
            get
            {
                return this.fieldOfViewField;
            }
            set
            {
                this.fieldOfViewField = value;
            }
        }

        /// <remarks/>
        public DegreeDimension ApparentAngleOfView
        {
            get
            {
                return this.apparentAngleOfViewField;
            }
            set
            {
                this.apparentAngleOfViewField = value;
            }
        }

        /// <remarks/>
        public DegreeDimension RealAngleOfView
        {
            get
            {
                return this.realAngleOfViewField;
            }
            set
            {
                this.realAngleOfViewField = value;
            }
        }

        /// <remarks/>
        public LengthDimension EyeRelief
        {
            get
            {
                return this.eyeReliefField;
            }
            set
            {
                this.eyeReliefField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string DiopterAdjustmentRange
        {
            get
            {
                return this.diopterAdjustmentRangeField;
            }
            set
            {
                this.diopterAdjustmentRangeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string Coating
        {
            get
            {
                return this.coatingField;
            }
            set
            {
                this.coatingField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string EyepieceLensConstruction
        {
            get
            {
                return this.eyepieceLensConstructionField;
            }
            set
            {
                this.eyepieceLensConstructionField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ObjectiveLensConstruction
        {
            get
            {
                return this.objectiveLensConstructionField;
            }
            set
            {
                this.objectiveLensConstructionField = value;
            }
        }

        /// <remarks/>
        public bool TripodReady
        {
            get
            {
                return this.tripodReadyField;
            }
            set
            {
                this.tripodReadyField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool TripodReadySpecified
        {
            get
            {
                return this.tripodReadyFieldSpecified;
            }
            set
            {
                this.tripodReadyFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Features")]
        public BinocularFeatures[] Features
        {
            get
            {
                return this.featuresField;
            }
            set
            {
                this.featuresField = value;
            }
        }

        /// <remarks/>
        public ZoomDimension Magnification
        {
            get
            {
                return this.magnificationField;
            }
            set
            {
                this.magnificationField = value;
            }
        }

        /// <remarks/>
        public BinocularSpecificUses SpecificUses
        {
            get
            {
                return this.specificUsesField;
            }
            set
            {
                this.specificUsesField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool SpecificUsesSpecified
        {
            get
            {
                return this.specificUsesFieldSpecified;
            }
            set
            {
                this.specificUsesFieldSpecified = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum BinocularBinocularType
    {

        /// <remarks/>
        binoculars,

        /// <remarks/>
        monoculars,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("laser-rangefinders")]
        laserrangefinders,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("spotting-scopes")]
        spottingscopes,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("night-vision")]
        nightvision,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum BinocularFeatures
    {

        /// <remarks/>
        compact,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("full-size")]
        fullsize,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("image-stabilizing")]
        imagestabilizing,

        /// <remarks/>
        waterproof,

        /// <remarks/>
        fogproof,

        /// <remarks/>
        zoom,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("uv-protection")]
        uvprotection,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlRootAttribute("DigitalZoom", Namespace = "", IsNullable = false)]
    public partial class ZoomDimension
    {

        private ZoomUnitOfMeasure unitOfMeasureField;

        private string valueField;

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public ZoomUnitOfMeasure unitOfMeasure
        {
            get
            {
                return this.unitOfMeasureField;
            }
            set
            {
                this.unitOfMeasureField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute(DataType = "positiveInteger")]
        public string Value
        {
            get
            {
                return this.valueField;
            }
            set
            {
                this.valueField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    public enum ZoomUnitOfMeasure
    {

        /// <remarks/>
        x,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum BinocularSpecificUses
    {

        /// <remarks/>
        tabletop,

        /// <remarks/>
        travel,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("hiking-and-outdoors")]
        hikingandoutdoors,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("hunting-and-shooting")]
        huntingandshooting,

        /// <remarks/>
        sports,
    } 
    #endregion

    #region BlankMedia
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
    public partial class BlankMedia
    {

        private BlankMediaAnalogFormats analogFormatsField;

        private bool analogFormatsFieldSpecified;

        private BlankMediaDigitalFormats digitalFormatsField;

        private bool digitalFormatsFieldSpecified;

        private BlankMediaMotionFilmFormats motionFilmFormatsField;

        private bool motionFilmFormatsFieldSpecified;

        private BlankMediaMediaColor mediaColorField;

        private bool mediaColorFieldSpecified;

        private string countField;

        /// <remarks/>
        public BlankMediaAnalogFormats AnalogFormats
        {
            get
            {
                return this.analogFormatsField;
            }
            set
            {
                this.analogFormatsField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AnalogFormatsSpecified
        {
            get
            {
                return this.analogFormatsFieldSpecified;
            }
            set
            {
                this.analogFormatsFieldSpecified = value;
            }
        }

        /// <remarks/>
        public BlankMediaDigitalFormats DigitalFormats
        {
            get
            {
                return this.digitalFormatsField;
            }
            set
            {
                this.digitalFormatsField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DigitalFormatsSpecified
        {
            get
            {
                return this.digitalFormatsFieldSpecified;
            }
            set
            {
                this.digitalFormatsFieldSpecified = value;
            }
        }

        /// <remarks/>
        public BlankMediaMotionFilmFormats MotionFilmFormats
        {
            get
            {
                return this.motionFilmFormatsField;
            }
            set
            {
                this.motionFilmFormatsField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool MotionFilmFormatsSpecified
        {
            get
            {
                return this.motionFilmFormatsFieldSpecified;
            }
            set
            {
                this.motionFilmFormatsFieldSpecified = value;
            }
        }

        /// <remarks/>
        public BlankMediaMediaColor MediaColor
        {
            get
            {
                return this.mediaColorField;
            }
            set
            {
                this.mediaColorField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool MediaColorSpecified
        {
            get
            {
                return this.mediaColorFieldSpecified;
            }
            set
            {
                this.mediaColorFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "positiveInteger")]
        public string Count
        {
            get
            {
                return this.countField;
            }
            set
            {
                this.countField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum BlankMediaAnalogFormats
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("8mm-camcorder-tapes")]
        Item8mmcamcordertapes,

        /// <remarks/>
        beta,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("hi-8-cassettes")]
        hi8cassettes,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("s-vhs")]
        svhs,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("s-vhs-c")]
        svhsc,

        /// <remarks/>
        vhs,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("vhs-c")]
        vhsc,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("reel-tapes")]
        reeltapes,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum BlankMediaDigitalFormats
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("minidv-cassettes")]
        minidvcassettes,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("full-size-dv-cassettes")]
        fullsizedvcassettes,

        /// <remarks/>
        micromv,

        /// <remarks/>
        dvd,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("digital-beta-cassettes")]
        digitalbetacassettes,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum BlankMediaMotionFilmFormats
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("8mm-film")]
        Item8mmfilm,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("super-8mm-film")]
        super8mmfilm,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("16mm-film")]
        Item16mmfilm,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("super-16mm-film")]
        super16mmfilm,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("35mm-film")]
        Item35mmfilm,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("65mm-film")]
        Item65mmfilm,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("70mm-film")]
        Item70mmfilm,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("other-film-formats")]
        otherfilmformats,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum BlankMediaMediaColor
    {

        /// <remarks/>
        unknown_chromatism,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("black-and-white")]
        blackandwhite,

        /// <remarks/>
        color,

        /// <remarks/>
        tinted,

        /// <remarks/>
        colorized,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("color/black_and_white")]
        colorblack_and_white,
    } 
    #endregion

    #region Camcorder
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
    public partial class Camcorder
    {

        private CamcorderAnalogFormats analogFormatsField;

        private bool analogFormatsFieldSpecified;

        private CamcorderDigitalFormats digitalFormatsField;

        private bool digitalFormatsFieldSpecified;

        private CamcorderSensorType sensorTypeField;

        private bool sensorTypeFieldSpecified;

        private CamcorderFilmFormats filmFormatsField;

        private bool filmFormatsFieldSpecified;

        private CamcorderLensType lensTypeField;

        private bool lensTypeFieldSpecified;

        private ZoomDimension opticalZoomField;

        private ZoomDimension digitalZoomField;

        private PixelDimension videoResolutionField;

        private CamcorderAudio audioField;

        private bool audioFieldSpecified;

        private LengthDimension lCDScreenSizeField;

        private bool lCDSwivelField;

        private bool lCDSwivelFieldSpecified;

        private CamcorderViewfinder viewfinderField;

        private bool viewfinderFieldSpecified;

        private ApertureDimension minApertureField;

        private ApertureDimension maxApertureField;

        private bool imageStabilizationField;

        private bool imageStabilizationFieldSpecified;

        private bool infraredCapabilityField;

        private bool infraredCapabilityFieldSpecified;

        private bool firewireOutputField;

        private bool firewireOutputFieldSpecified;

        private bool sVideoOutputField;

        private bool sVideoOutputFieldSpecified;

        private CamcorderUSBOutput[] uSBOutputField;

        private bool aVOutputField;

        private bool aVOutputFieldSpecified;

        private bool digitalStillCapabilityField;

        private bool digitalStillCapabilityFieldSpecified;

        private string digitalStillResolutionField;

        private CamcorderExternalMemoryType externalMemoryTypeField;

        private bool externalMemoryTypeFieldSpecified;

        private bool externalMemoryIncludedField;

        private bool externalMemoryIncludedFieldSpecified;

        private MemorySizeDimension externalMemorySizeField;

        private CamcorderMPEGMovieMode mPEGMovieModeField;

        private bool mPEGMovieModeFieldSpecified;

        private bool uSBStreamingField;

        private bool uSBStreamingFieldSpecified;

        private bool headphoneJackField;

        private bool headphoneJackFieldSpecified;

        private bool flyingEraseHeadsField;

        private bool flyingEraseHeadsFieldSpecified;

        private bool autolightField;

        private bool autolightFieldSpecified;

        private bool hotShoeField;

        private bool hotShoeFieldSpecified;

        private ComputerPlatform[] computerPlatformField;

        private string softwareIncludedField;

        private string batteryTypeField;

        private bool rechargeableBatteryIncludedField;

        private bool rechargeableBatteryIncludedFieldSpecified;

        private bool aCAdapterIncludedField;

        private bool aCAdapterIncludedFieldSpecified;

        private bool remoteIncludedField;

        private bool remoteIncludedFieldSpecified;

        private CamcorderPlaybackFormat playbackFormatField;

        private bool playbackFormatFieldSpecified;

        private CamcorderFeatures[] featuresField;

        /// <remarks/>
        public CamcorderAnalogFormats AnalogFormats
        {
            get
            {
                return this.analogFormatsField;
            }
            set
            {
                this.analogFormatsField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AnalogFormatsSpecified
        {
            get
            {
                return this.analogFormatsFieldSpecified;
            }
            set
            {
                this.analogFormatsFieldSpecified = value;
            }
        }

        /// <remarks/>
        public CamcorderDigitalFormats DigitalFormats
        {
            get
            {
                return this.digitalFormatsField;
            }
            set
            {
                this.digitalFormatsField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DigitalFormatsSpecified
        {
            get
            {
                return this.digitalFormatsFieldSpecified;
            }
            set
            {
                this.digitalFormatsFieldSpecified = value;
            }
        }

        /// <remarks/>
        public CamcorderSensorType SensorType
        {
            get
            {
                return this.sensorTypeField;
            }
            set
            {
                this.sensorTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool SensorTypeSpecified
        {
            get
            {
                return this.sensorTypeFieldSpecified;
            }
            set
            {
                this.sensorTypeFieldSpecified = value;
            }
        }

        /// <remarks/>
        public CamcorderFilmFormats FilmFormats
        {
            get
            {
                return this.filmFormatsField;
            }
            set
            {
                this.filmFormatsField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool FilmFormatsSpecified
        {
            get
            {
                return this.filmFormatsFieldSpecified;
            }
            set
            {
                this.filmFormatsFieldSpecified = value;
            }
        }

        /// <remarks/>
        public CamcorderLensType LensType
        {
            get
            {
                return this.lensTypeField;
            }
            set
            {
                this.lensTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool LensTypeSpecified
        {
            get
            {
                return this.lensTypeFieldSpecified;
            }
            set
            {
                this.lensTypeFieldSpecified = value;
            }
        }

        /// <remarks/>
        public ZoomDimension OpticalZoom
        {
            get
            {
                return this.opticalZoomField;
            }
            set
            {
                this.opticalZoomField = value;
            }
        }

        /// <remarks/>
        public ZoomDimension DigitalZoom
        {
            get
            {
                return this.digitalZoomField;
            }
            set
            {
                this.digitalZoomField = value;
            }
        }

        /// <remarks/>
        public PixelDimension VideoResolution
        {
            get
            {
                return this.videoResolutionField;
            }
            set
            {
                this.videoResolutionField = value;
            }
        }

        /// <remarks/>
        public CamcorderAudio Audio
        {
            get
            {
                return this.audioField;
            }
            set
            {
                this.audioField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AudioSpecified
        {
            get
            {
                return this.audioFieldSpecified;
            }
            set
            {
                this.audioFieldSpecified = value;
            }
        }

        /// <remarks/>
        public LengthDimension LCDScreenSize
        {
            get
            {
                return this.lCDScreenSizeField;
            }
            set
            {
                this.lCDScreenSizeField = value;
            }
        }

        /// <remarks/>
        public bool LCDSwivel
        {
            get
            {
                return this.lCDSwivelField;
            }
            set
            {
                this.lCDSwivelField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool LCDSwivelSpecified
        {
            get
            {
                return this.lCDSwivelFieldSpecified;
            }
            set
            {
                this.lCDSwivelFieldSpecified = value;
            }
        }

        /// <remarks/>
        public CamcorderViewfinder Viewfinder
        {
            get
            {
                return this.viewfinderField;
            }
            set
            {
                this.viewfinderField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ViewfinderSpecified
        {
            get
            {
                return this.viewfinderFieldSpecified;
            }
            set
            {
                this.viewfinderFieldSpecified = value;
            }
        }

        /// <remarks/>
        public ApertureDimension MinAperture
        {
            get
            {
                return this.minApertureField;
            }
            set
            {
                this.minApertureField = value;
            }
        }

        /// <remarks/>
        public ApertureDimension MaxAperture
        {
            get
            {
                return this.maxApertureField;
            }
            set
            {
                this.maxApertureField = value;
            }
        }

        /// <remarks/>
        public bool ImageStabilization
        {
            get
            {
                return this.imageStabilizationField;
            }
            set
            {
                this.imageStabilizationField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ImageStabilizationSpecified
        {
            get
            {
                return this.imageStabilizationFieldSpecified;
            }
            set
            {
                this.imageStabilizationFieldSpecified = value;
            }
        }

        /// <remarks/>
        public bool InfraredCapability
        {
            get
            {
                return this.infraredCapabilityField;
            }
            set
            {
                this.infraredCapabilityField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool InfraredCapabilitySpecified
        {
            get
            {
                return this.infraredCapabilityFieldSpecified;
            }
            set
            {
                this.infraredCapabilityFieldSpecified = value;
            }
        }

        /// <remarks/>
        public bool FirewireOutput
        {
            get
            {
                return this.firewireOutputField;
            }
            set
            {
                this.firewireOutputField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool FirewireOutputSpecified
        {
            get
            {
                return this.firewireOutputFieldSpecified;
            }
            set
            {
                this.firewireOutputFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("S-VideoOutput")]
        public bool SVideoOutput
        {
            get
            {
                return this.sVideoOutputField;
            }
            set
            {
                this.sVideoOutputField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool SVideoOutputSpecified
        {
            get
            {
                return this.sVideoOutputFieldSpecified;
            }
            set
            {
                this.sVideoOutputFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("USBOutput")]
        public CamcorderUSBOutput[] USBOutput
        {
            get
            {
                return this.uSBOutputField;
            }
            set
            {
                this.uSBOutputField = value;
            }
        }

        /// <remarks/>
        public bool AVOutput
        {
            get
            {
                return this.aVOutputField;
            }
            set
            {
                this.aVOutputField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AVOutputSpecified
        {
            get
            {
                return this.aVOutputFieldSpecified;
            }
            set
            {
                this.aVOutputFieldSpecified = value;
            }
        }

        /// <remarks/>
        public bool DigitalStillCapability
        {
            get
            {
                return this.digitalStillCapabilityField;
            }
            set
            {
                this.digitalStillCapabilityField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DigitalStillCapabilitySpecified
        {
            get
            {
                return this.digitalStillCapabilityFieldSpecified;
            }
            set
            {
                this.digitalStillCapabilityFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string DigitalStillResolution
        {
            get
            {
                return this.digitalStillResolutionField;
            }
            set
            {
                this.digitalStillResolutionField = value;
            }
        }

        /// <remarks/>
        public CamcorderExternalMemoryType ExternalMemoryType
        {
            get
            {
                return this.externalMemoryTypeField;
            }
            set
            {
                this.externalMemoryTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ExternalMemoryTypeSpecified
        {
            get
            {
                return this.externalMemoryTypeFieldSpecified;
            }
            set
            {
                this.externalMemoryTypeFieldSpecified = value;
            }
        }

        /// <remarks/>
        public bool ExternalMemoryIncluded
        {
            get
            {
                return this.externalMemoryIncludedField;
            }
            set
            {
                this.externalMemoryIncludedField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ExternalMemoryIncludedSpecified
        {
            get
            {
                return this.externalMemoryIncludedFieldSpecified;
            }
            set
            {
                this.externalMemoryIncludedFieldSpecified = value;
            }
        }

        /// <remarks/>
        public MemorySizeDimension ExternalMemorySize
        {
            get
            {
                return this.externalMemorySizeField;
            }
            set
            {
                this.externalMemorySizeField = value;
            }
        }

        /// <remarks/>
        public CamcorderMPEGMovieMode MPEGMovieMode
        {
            get
            {
                return this.mPEGMovieModeField;
            }
            set
            {
                this.mPEGMovieModeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool MPEGMovieModeSpecified
        {
            get
            {
                return this.mPEGMovieModeFieldSpecified;
            }
            set
            {
                this.mPEGMovieModeFieldSpecified = value;
            }
        }

        /// <remarks/>
        public bool USBStreaming
        {
            get
            {
                return this.uSBStreamingField;
            }
            set
            {
                this.uSBStreamingField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool USBStreamingSpecified
        {
            get
            {
                return this.uSBStreamingFieldSpecified;
            }
            set
            {
                this.uSBStreamingFieldSpecified = value;
            }
        }

        /// <remarks/>
        public bool HeadphoneJack
        {
            get
            {
                return this.headphoneJackField;
            }
            set
            {
                this.headphoneJackField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool HeadphoneJackSpecified
        {
            get
            {
                return this.headphoneJackFieldSpecified;
            }
            set
            {
                this.headphoneJackFieldSpecified = value;
            }
        }

        /// <remarks/>
        public bool FlyingEraseHeads
        {
            get
            {
                return this.flyingEraseHeadsField;
            }
            set
            {
                this.flyingEraseHeadsField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool FlyingEraseHeadsSpecified
        {
            get
            {
                return this.flyingEraseHeadsFieldSpecified;
            }
            set
            {
                this.flyingEraseHeadsFieldSpecified = value;
            }
        }

        /// <remarks/>
        public bool Autolight
        {
            get
            {
                return this.autolightField;
            }
            set
            {
                this.autolightField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AutolightSpecified
        {
            get
            {
                return this.autolightFieldSpecified;
            }
            set
            {
                this.autolightFieldSpecified = value;
            }
        }

        /// <remarks/>
        public bool HotShoe
        {
            get
            {
                return this.hotShoeField;
            }
            set
            {
                this.hotShoeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool HotShoeSpecified
        {
            get
            {
                return this.hotShoeFieldSpecified;
            }
            set
            {
                this.hotShoeFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ComputerPlatform")]
        public ComputerPlatform[] ComputerPlatform
        {
            get
            {
                return this.computerPlatformField;
            }
            set
            {
                this.computerPlatformField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string SoftwareIncluded
        {
            get
            {
                return this.softwareIncludedField;
            }
            set
            {
                this.softwareIncludedField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string BatteryType
        {
            get
            {
                return this.batteryTypeField;
            }
            set
            {
                this.batteryTypeField = value;
            }
        }

        /// <remarks/>
        public bool RechargeableBatteryIncluded
        {
            get
            {
                return this.rechargeableBatteryIncludedField;
            }
            set
            {
                this.rechargeableBatteryIncludedField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool RechargeableBatteryIncludedSpecified
        {
            get
            {
                return this.rechargeableBatteryIncludedFieldSpecified;
            }
            set
            {
                this.rechargeableBatteryIncludedFieldSpecified = value;
            }
        }

        /// <remarks/>
        public bool ACAdapterIncluded
        {
            get
            {
                return this.aCAdapterIncludedField;
            }
            set
            {
                this.aCAdapterIncludedField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ACAdapterIncludedSpecified
        {
            get
            {
                return this.aCAdapterIncludedFieldSpecified;
            }
            set
            {
                this.aCAdapterIncludedFieldSpecified = value;
            }
        }

        /// <remarks/>
        public bool RemoteIncluded
        {
            get
            {
                return this.remoteIncludedField;
            }
            set
            {
                this.remoteIncludedField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool RemoteIncludedSpecified
        {
            get
            {
                return this.remoteIncludedFieldSpecified;
            }
            set
            {
                this.remoteIncludedFieldSpecified = value;
            }
        }

        /// <remarks/>
        public CamcorderPlaybackFormat PlaybackFormat
        {
            get
            {
                return this.playbackFormatField;
            }
            set
            {
                this.playbackFormatField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool PlaybackFormatSpecified
        {
            get
            {
                return this.playbackFormatFieldSpecified;
            }
            set
            {
                this.playbackFormatFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Features")]
        public CamcorderFeatures[] Features
        {
            get
            {
                return this.featuresField;
            }
            set
            {
                this.featuresField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum CamcorderAnalogFormats
    {

        /// <remarks/>
        general,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("8mm")]
        Item8mm,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("betacam-sp")]
        betacamsp,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("hi-8")]
        hi8,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("s-vhs")]
        svhs,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("s-vhs-c")]
        svhsc,

        /// <remarks/>
        vhs,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("vhs-c")]
        vhsc,

        /// <remarks/>
        other,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum CamcorderDigitalFormats
    {

        /// <remarks/>
        general,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("digital-betacam")]
        digitalbetacam,

        /// <remarks/>
        dv,

        /// <remarks/>
        dvcam,

        /// <remarks/>
        dvcpro,

        /// <remarks/>
        minidv,

        /// <remarks/>
        micromv,

        /// <remarks/>
        digital8,

        /// <remarks/>
        dvd,

        /// <remarks/>
        minidisc,

        /// <remarks/>
        other,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum CamcorderSensorType
    {

        /// <remarks/>
        ccd,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("3-chip-ccd")]
        Item3chipccd,

        /// <remarks/>
        cmos,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("progressive-scan-ccd")]
        progressivescanccd,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("fixed-zoom-lens")]
        fixedzoomlens,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("interchangeable-lens")]
        interchangeablelens,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("other-lens")]
        otherlens,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum CamcorderFilmFormats
    {

        /// <remarks/>
        general,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("8mm")]
        Item8mm,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("16mm")]
        Item16mm,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("35mm")]
        Item35mm,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("65mm")]
        Item65mm,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("70mm")]
        Item70mm,

        /// <remarks/>
        other,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum CamcorderLensType
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("fixed-non-zoom")]
        fixednonzoom,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("fixed-zoom")]
        fixedzoom,

        /// <remarks/>
        interchangeable,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum CamcorderAudio
    {

        /// <remarks/>
        stereo,

        /// <remarks/>
        mono,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum CamcorderViewfinder
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("black-and-white")]
        blackandwhite,

        /// <remarks/>
        color,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlRootAttribute("MaxAperture", Namespace = "", IsNullable = false)]
    public partial class ApertureDimension
    {

        private ApertureUnitOfMeasure unitOfMeasureField;

        private decimal valueField;

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public ApertureUnitOfMeasure unitOfMeasure
        {
            get
            {
                return this.unitOfMeasureField;
            }
            set
            {
                this.unitOfMeasureField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public decimal Value
        {
            get
            {
                return this.valueField;
            }
            set
            {
                this.valueField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    public enum ApertureUnitOfMeasure
    {

        /// <remarks/>
        f,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum CamcorderUSBOutput
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("usb1.1")]
        usb11,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("usb2.0")]
        usb20,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum CamcorderExternalMemoryType
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("memory-stick")]
        memorystick,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("secure-digital")]
        securedigital,

        /// <remarks/>
        mmc,

        /// <remarks/>
        other,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlRootAttribute("GraphicsRAMSize", Namespace = "", IsNullable = false)]
    public partial class MemorySizeDimension
    {

        private MemorySizeUnitOfMeasure unitOfMeasureField;

        private decimal valueField;

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public MemorySizeUnitOfMeasure unitOfMeasure
        {
            get
            {
                return this.unitOfMeasureField;
            }
            set
            {
                this.unitOfMeasureField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public decimal Value
        {
            get
            {
                return this.valueField;
            }
            set
            {
                this.valueField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    public enum MemorySizeUnitOfMeasure
    {

        /// <remarks/>
        TB,

        /// <remarks/>
        GB,

        /// <remarks/>
        MB,

        /// <remarks/>
        KB,

        /// <remarks/>
        KO,

        /// <remarks/>
        MO,

        /// <remarks/>
        GO,

        /// <remarks/>
        TO,

        /// <remarks/>
        bytes,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum CamcorderMPEGMovieMode
    {

        /// <remarks/>
        mpeg,

        /// <remarks/>
        mpeg2,

        /// <remarks/>
        mpeg4,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum CamcorderPlaybackFormat
    {

        /// <remarks/>
        pal,

        /// <remarks/>
        ntsc,

        /// <remarks/>
        multisystem,

        /// <remarks/>
        secam,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum CamcorderFeatures
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("lcd-screen")]
        lcdscreen,

        /// <remarks/>
        mpeg,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("digital-still")]
        digitalstill,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("memory-card-compatible")]
        memorycardcompatible,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("image-stabilization")]
        imagestabilization,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("insert-edit")]
        insertedit,

        /// <remarks/>
        underwater,
    } 
    #endregion

    #region Cleaner
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
    public partial class Cleaner
    {

        private CleanerCleanerType cleanerTypeField;

        private bool cleanerTypeFieldSpecified;

        /// <remarks/>
        public CleanerCleanerType CleanerType
        {
            get
            {
                return this.cleanerTypeField;
            }
            set
            {
                this.cleanerTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool CleanerTypeSpecified
        {
            get
            {
                return this.cleanerTypeFieldSpecified;
            }
            set
            {
                this.cleanerTypeFieldSpecified = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum CleanerCleanerType
    {

        /// <remarks/>
        brushes,

        /// <remarks/>
        cloths,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("cleaning-kits")]
        cleaningkits,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("compressed-air")]
        compressedair,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("liquid-cleaners")]
        liquidcleaners,

        /// <remarks/>
        refills,
    } 
    #endregion

    #region Darkroom
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
    public partial class Darkroom
    {

        private DarkroomChemicals chemicalsField;

        private bool chemicalsFieldSpecified;

        private DarkroomEnlargers enlargersField;

        private bool enlargersFieldSpecified;

        private DarkroomEasels easelsField;

        private bool easelsFieldSpecified;

        private DarkroomEnlargingHeadAndAccessories enlargingHeadAndAccessoriesField;

        private bool enlargingHeadAndAccessoriesFieldSpecified;

        private DarkroomOtherEnlargerAccessories otherEnlargerAccessoriesField;

        private bool otherEnlargerAccessoriesFieldSpecified;

        private DarkroomAnalyzersAndExposureMeters analyzersAndExposureMetersField;

        private bool analyzersAndExposureMetersFieldSpecified;

        private DarkroomSafelightsAndAccessories safelightsAndAccessoriesField;

        private bool safelightsAndAccessoriesFieldSpecified;

        private DarkroomAirRegulators airRegulatorsField;

        private bool airRegulatorsFieldSpecified;

        private DarkroomWaterControlsAndFilters waterControlsAndFiltersField;

        private bool waterControlsAndFiltersFieldSpecified;

        private DarkroomSinksAndAccessories sinksAndAccessoriesField;

        private bool sinksAndAccessoriesFieldSpecified;

        private DarkroomMixingEquipment mixingEquipmentField;

        private bool mixingEquipmentFieldSpecified;

        private DarkroomGeneralDevelopingAndProcessingSupplies generalDevelopingAndProcessingSuppliesField;

        private bool generalDevelopingAndProcessingSuppliesFieldSpecified;

        private DarkroomFilmProcessingSupplies filmProcessingSuppliesField;

        private bool filmProcessingSuppliesFieldSpecified;

        private DarkroomPaperProcessingSupplies paperProcessingSuppliesField;

        private bool paperProcessingSuppliesFieldSpecified;

        private DarkroomTabletopProcessingSupplies tabletopProcessingSuppliesField;

        private bool tabletopProcessingSuppliesFieldSpecified;

        /// <remarks/>
        public DarkroomChemicals Chemicals
        {
            get
            {
                return this.chemicalsField;
            }
            set
            {
                this.chemicalsField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ChemicalsSpecified
        {
            get
            {
                return this.chemicalsFieldSpecified;
            }
            set
            {
                this.chemicalsFieldSpecified = value;
            }
        }

        /// <remarks/>
        public DarkroomEnlargers Enlargers
        {
            get
            {
                return this.enlargersField;
            }
            set
            {
                this.enlargersField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool EnlargersSpecified
        {
            get
            {
                return this.enlargersFieldSpecified;
            }
            set
            {
                this.enlargersFieldSpecified = value;
            }
        }

        /// <remarks/>
        public DarkroomEasels Easels
        {
            get
            {
                return this.easelsField;
            }
            set
            {
                this.easelsField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool EaselsSpecified
        {
            get
            {
                return this.easelsFieldSpecified;
            }
            set
            {
                this.easelsFieldSpecified = value;
            }
        }

        /// <remarks/>
        public DarkroomEnlargingHeadAndAccessories EnlargingHeadAndAccessories
        {
            get
            {
                return this.enlargingHeadAndAccessoriesField;
            }
            set
            {
                this.enlargingHeadAndAccessoriesField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool EnlargingHeadAndAccessoriesSpecified
        {
            get
            {
                return this.enlargingHeadAndAccessoriesFieldSpecified;
            }
            set
            {
                this.enlargingHeadAndAccessoriesFieldSpecified = value;
            }
        }

        /// <remarks/>
        public DarkroomOtherEnlargerAccessories OtherEnlargerAccessories
        {
            get
            {
                return this.otherEnlargerAccessoriesField;
            }
            set
            {
                this.otherEnlargerAccessoriesField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool OtherEnlargerAccessoriesSpecified
        {
            get
            {
                return this.otherEnlargerAccessoriesFieldSpecified;
            }
            set
            {
                this.otherEnlargerAccessoriesFieldSpecified = value;
            }
        }

        /// <remarks/>
        public DarkroomAnalyzersAndExposureMeters AnalyzersAndExposureMeters
        {
            get
            {
                return this.analyzersAndExposureMetersField;
            }
            set
            {
                this.analyzersAndExposureMetersField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AnalyzersAndExposureMetersSpecified
        {
            get
            {
                return this.analyzersAndExposureMetersFieldSpecified;
            }
            set
            {
                this.analyzersAndExposureMetersFieldSpecified = value;
            }
        }

        /// <remarks/>
        public DarkroomSafelightsAndAccessories SafelightsAndAccessories
        {
            get
            {
                return this.safelightsAndAccessoriesField;
            }
            set
            {
                this.safelightsAndAccessoriesField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool SafelightsAndAccessoriesSpecified
        {
            get
            {
                return this.safelightsAndAccessoriesFieldSpecified;
            }
            set
            {
                this.safelightsAndAccessoriesFieldSpecified = value;
            }
        }

        /// <remarks/>
        public DarkroomAirRegulators AirRegulators
        {
            get
            {
                return this.airRegulatorsField;
            }
            set
            {
                this.airRegulatorsField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AirRegulatorsSpecified
        {
            get
            {
                return this.airRegulatorsFieldSpecified;
            }
            set
            {
                this.airRegulatorsFieldSpecified = value;
            }
        }

        /// <remarks/>
        public DarkroomWaterControlsAndFilters WaterControlsAndFilters
        {
            get
            {
                return this.waterControlsAndFiltersField;
            }
            set
            {
                this.waterControlsAndFiltersField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool WaterControlsAndFiltersSpecified
        {
            get
            {
                return this.waterControlsAndFiltersFieldSpecified;
            }
            set
            {
                this.waterControlsAndFiltersFieldSpecified = value;
            }
        }

        /// <remarks/>
        public DarkroomSinksAndAccessories SinksAndAccessories
        {
            get
            {
                return this.sinksAndAccessoriesField;
            }
            set
            {
                this.sinksAndAccessoriesField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool SinksAndAccessoriesSpecified
        {
            get
            {
                return this.sinksAndAccessoriesFieldSpecified;
            }
            set
            {
                this.sinksAndAccessoriesFieldSpecified = value;
            }
        }

        /// <remarks/>
        public DarkroomMixingEquipment MixingEquipment
        {
            get
            {
                return this.mixingEquipmentField;
            }
            set
            {
                this.mixingEquipmentField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool MixingEquipmentSpecified
        {
            get
            {
                return this.mixingEquipmentFieldSpecified;
            }
            set
            {
                this.mixingEquipmentFieldSpecified = value;
            }
        }

        /// <remarks/>
        public DarkroomGeneralDevelopingAndProcessingSupplies GeneralDevelopingAndProcessingSupplies
        {
            get
            {
                return this.generalDevelopingAndProcessingSuppliesField;
            }
            set
            {
                this.generalDevelopingAndProcessingSuppliesField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool GeneralDevelopingAndProcessingSuppliesSpecified
        {
            get
            {
                return this.generalDevelopingAndProcessingSuppliesFieldSpecified;
            }
            set
            {
                this.generalDevelopingAndProcessingSuppliesFieldSpecified = value;
            }
        }

        /// <remarks/>
        public DarkroomFilmProcessingSupplies FilmProcessingSupplies
        {
            get
            {
                return this.filmProcessingSuppliesField;
            }
            set
            {
                this.filmProcessingSuppliesField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool FilmProcessingSuppliesSpecified
        {
            get
            {
                return this.filmProcessingSuppliesFieldSpecified;
            }
            set
            {
                this.filmProcessingSuppliesFieldSpecified = value;
            }
        }

        /// <remarks/>
        public DarkroomPaperProcessingSupplies PaperProcessingSupplies
        {
            get
            {
                return this.paperProcessingSuppliesField;
            }
            set
            {
                this.paperProcessingSuppliesField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool PaperProcessingSuppliesSpecified
        {
            get
            {
                return this.paperProcessingSuppliesFieldSpecified;
            }
            set
            {
                this.paperProcessingSuppliesFieldSpecified = value;
            }
        }

        /// <remarks/>
        public DarkroomTabletopProcessingSupplies TabletopProcessingSupplies
        {
            get
            {
                return this.tabletopProcessingSuppliesField;
            }
            set
            {
                this.tabletopProcessingSuppliesField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool TabletopProcessingSuppliesSpecified
        {
            get
            {
                return this.tabletopProcessingSuppliesFieldSpecified;
            }
            set
            {
                this.tabletopProcessingSuppliesFieldSpecified = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum DarkroomChemicals
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("black-and-white-film-developer")]
        blackandwhitefilmdeveloper,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("black-and-white-fixer")]
        blackandwhitefixer,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("black-and-white-paper-developer")]
        blackandwhitepaperdeveloper,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("black-and-white-stop-baths")]
        blackandwhitestopbaths,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("color-negative-film-chemicals")]
        colornegativefilmchemicals,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("color-slide-film-chemicals")]
        colorslidefilmchemicals,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("chemicals-for-prints-from-color-negatives")]
        chemicalsforprintsfromcolornegatives,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("chemicals-for-prints-from-color-slides")]
        chemicalsforprintsfromcolorslides,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("processing-aids")]
        processingaids,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("retouching-chemicals")]
        retouchingchemicals,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("wash-aids")]
        washaids,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("alternative-chemicals")]
        alternativechemicals,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("other-chemicals")]
        otherchemicals,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum DarkroomEnlargers
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("enlargers-general")]
        enlargersgeneral,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("black-and-white-enlargers")]
        blackandwhiteenlargers,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("color-enlargers")]
        colorenlargers,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("variable-contrast-enlargers")]
        variablecontrastenlargers,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum DarkroomEasels
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("easels-general")]
        easelsgeneral,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("adjustable-easels")]
        adjustableeasels,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("fixed-size-easels")]
        fixedsizeeasels,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("borderless-easels")]
        borderlesseasels,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("contact-printers")]
        contactprinters,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("other-easels")]
        othereasels,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum DarkroomEnlargingHeadAndAccessories
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("enlarging-heads-general")]
        enlargingheadsgeneral,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("black-and-white-condenser-heads")]
        blackandwhitecondenserheads,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("color-dichronic-heads")]
        colordichronicheads,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("variable-contrast-diffusion-heads")]
        variablecontrastdiffusionheads,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("cold-light-heads")]
        coldlightheads,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("enlarging-head-accessories")]
        enlargingheadaccessories,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum DarkroomOtherEnlargerAccessories
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("enlarger-lamps")]
        enlargerlamps,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("enlarging-lens-accessories")]
        enlarginglensaccessories,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("focusing-aids")]
        focusingaids,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("lens-boards")]
        lensboards,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("general-negative-carriers")]
        generalnegativecarriers,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("below-35mm-negative-carriers")]
        below35mmnegativecarriers,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("35mm-negative-carriers")]
        Item35mmnegativecarriers,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("medium-format-negative-carriers")]
        mediumformatnegativecarriers,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("large-format-negative-carriers")]
        largeformatnegativecarriers,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("other-format-negative-carriers")]
        otherformatnegativecarriers,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("printing-filters")]
        printingfilters,

        /// <remarks/>
        timers,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("other-enlarger-accessories")]
        otherenlargeraccessories,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum DarkroomAnalyzersAndExposureMeters
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("analyzers-and-accessories")]
        analyzersandaccessories,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("darkroom-exposure-meters")]
        darkroomexposuremeters,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("densitometers-and-accessories")]
        densitometersandaccessories,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("grey-cards-and-exposure-guides")]
        greycardsandexposureguides,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum DarkroomSafelightsAndAccessories
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("black-and-white-safelights")]
        blackandwhitesafelights,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("color-safelights")]
        colorsafelights,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("safelight-filters")]
        safelightfilters,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("other-safelight-accessories")]
        othersafelightaccessories,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum DarkroomAirRegulators
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("air-cleaners")]
        aircleaners,

        /// <remarks/>
        fans,

        /// <remarks/>
        louvers,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum DarkroomWaterControlsAndFilters
    {

        /// <remarks/>
        flowmeters,

        /// <remarks/>
        thermometers,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("temperature-regulators")]
        temperatureregulators,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("tempered-water-heaters")]
        temperedwaterheaters,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("water-panels")]
        waterpanels,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("water-control-accessories")]
        watercontrolaccessories,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("water-filters")]
        waterfilters,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum DarkroomSinksAndAccessories
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("sinks-general")]
        sinksgeneral,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("plastic-sinks")]
        plasticsinks,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("fiberglass-sinks")]
        fiberglasssinks,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("stainless-steel-sinks")]
        stainlesssteelsinks,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("sink-accessories")]
        sinkaccessories,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum DarkroomMixingEquipment
    {

        /// <remarks/>
        funnels,

        /// <remarks/>
        graduates,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("stirring-devices")]
        stirringdevices,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum DarkroomGeneralDevelopingAndProcessingSupplies
    {

        /// <remarks/>
        aprons,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("blotter-books")]
        blotterbooks,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("changing-bags")]
        changingbags,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("control-strips")]
        controlstrips,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("darkroom-pens")]
        darkroompens,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("darkroom-pencils")]
        darkroompencils,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("darkroom-tapes")]
        darkroomtapes,

        /// <remarks/>
        gloves,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("paper-safes")]
        papersafes,

        /// <remarks/>
        scales,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("storage-bottles-and-tanks")]
        storagebottlesandtanks,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("tray-siphons")]
        traysiphons,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum DarkroomFilmProcessingSupplies
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("film-dryers")]
        filmdryers,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("film-reels")]
        filmreels,

        /// <remarks/>
        tanks,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("film-washers")]
        filmwashers,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("developing-racks")]
        developingracks,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("film-hangers")]
        filmhangers,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("film-squeegees")]
        filmsqueegees,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("film-cleaning-brushes-and-cloths")]
        filmcleaningbrushesandcloths,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("film-cleaning-solutions")]
        filmcleaningsolutions,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("other-film-processing-accessories")]
        otherfilmprocessingaccessories,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum DarkroomPaperProcessingSupplies
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("print-drums")]
        printdrums,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("print-dryers")]
        printdryers,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("roller-bases")]
        rollerbases,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("vertical-slot-processors")]
        verticalslotprocessors,

        /// <remarks/>
        washers,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("trays-general")]
        traysgeneral,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("5x7-trays")]
        Item5x7trays,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("8x10-trays")]
        Item8x10trays,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("11x14-trays")]
        Item11x14trays,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("12x16-trays")]
        Item12x16trays,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("16x20-trays")]
        Item16x20trays,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("20x24-trays")]
        Item20x24trays,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("30x40-trays")]
        Item30x40trays,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("other-paper-processing-accessories")]
        otherpaperprocessingaccessories,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum DarkroomTabletopProcessingSupplies
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("film-drums")]
        filmdrums,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("paper-drums")]
        paperdrums,

        /// <remarks/>
        processors,

        /// <remarks/>
        reels,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("wash-dry-modules")]
        washdrymodules,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("other-tabletop-processing-accessories")]
        othertabletopprocessingaccessories,
    } 
    #endregion

    #region DigitalCamera
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
    public partial class DigitalCamera
    {

        private PixelDimension megapixelsField;

        private ZoomDimension opticalZoomField;

        private ZoomDimension digitalZoomField;

        private MemorySizeDimension internalMemorySizeField;

        private MemorySizeDimension externalMemorySizeField;

        private DigitalCameraCameraType cameraTypeField;

        private bool cameraTypeFieldSpecified;

        private DigitalCameraFocusType focusTypeField;

        private bool focusTypeFieldSpecified;

        private DigitalCameraSensorType sensorTypeField;

        private bool sensorTypeFieldSpecified;

        private LengthDimension lCDScreenSizeField;

        private bool lCDSwivelField;

        private bool lCDSwivelFieldSpecified;

        private DigitalCameraViewfinder viewfinderField;

        private bool viewfinderFieldSpecified;

        private ApertureDimension minApertureField;

        private ApertureDimension maxApertureField;

        private bool imageStabilizationField;

        private bool imageStabilizationFieldSpecified;

        private bool infraredCapabilityField;

        private bool infraredCapabilityFieldSpecified;

        private bool firewireOutputField;

        private bool firewireOutputFieldSpecified;

        private bool sVideoOutputField;

        private bool sVideoOutputFieldSpecified;

        private DigitalCameraUSBOutput[] uSBOutputField;

        private bool aVOutputField;

        private bool aVOutputFieldSpecified;

        private bool digitalStillCapabilityField;

        private bool digitalStillCapabilityFieldSpecified;

        private string digitalStillResolutionField;

        private DigitalCameraExternalMemoryType externalMemoryTypeField;

        private bool externalMemoryTypeFieldSpecified;

        private bool externalMemoryIncludedField;

        private bool externalMemoryIncludedFieldSpecified;

        private DigitalCameraFeatures[] featuresField;

        private bool uSBStreamingField;

        private bool uSBStreamingFieldSpecified;

        private bool headphoneJackField;

        private bool headphoneJackFieldSpecified;

        private bool flyingEraseHeadsField;

        private bool flyingEraseHeadsFieldSpecified;

        private bool autolightField;

        private bool autolightFieldSpecified;

        private bool hotShoeField;

        private bool hotShoeFieldSpecified;

        private LengthDimension lensThreadField;

        private ComputerPlatform[] computerPlatformField;

        private string softwareIncludedField;

        private string batteryTypeField;

        private bool rechargeableBatteryIncludedField;

        private bool rechargeableBatteryIncludedFieldSpecified;

        private bool aCAdapterIncludedField;

        private bool aCAdapterIncludedFieldSpecified;

        private bool remoteIncludedField;

        private bool remoteIncludedFieldSpecified;

        private DigitalCameraConnectivity connectivityField;

        private bool connectivityFieldSpecified;

        private DigitalCameraInternalMemoryType internalMemoryTypeField;

        private bool internalMemoryTypeFieldSpecified;

        private PixelDimension maxImageResolutionField;

        private DigitalCameraUncompressedMode uncompressedModeField;

        private bool uncompressedModeFieldSpecified;

        private string iSOEquivalencyField;

        private LengthDimension macroFocusField;

        private string minShutterSpeedField;

        private string maxShutterSpeedField;

        private bool manualExposureModeField;

        private bool manualExposureModeFieldSpecified;

        private bool movieModeField;

        private bool movieModeFieldSpecified;

        private TimeDimension maxMovieLengthField;

        private bool audioRecordingField;

        private bool audioRecordingFieldSpecified;

        private ContinuousShootingDimension continuousShootingField;

        private TimeDimension selfTimerField;

        /// <remarks/>
        public PixelDimension Megapixels
        {
            get
            {
                return this.megapixelsField;
            }
            set
            {
                this.megapixelsField = value;
            }
        }

        /// <remarks/>
        public ZoomDimension OpticalZoom
        {
            get
            {
                return this.opticalZoomField;
            }
            set
            {
                this.opticalZoomField = value;
            }
        }

        /// <remarks/>
        public ZoomDimension DigitalZoom
        {
            get
            {
                return this.digitalZoomField;
            }
            set
            {
                this.digitalZoomField = value;
            }
        }

        /// <remarks/>
        public MemorySizeDimension InternalMemorySize
        {
            get
            {
                return this.internalMemorySizeField;
            }
            set
            {
                this.internalMemorySizeField = value;
            }
        }

        /// <remarks/>
        public MemorySizeDimension ExternalMemorySize
        {
            get
            {
                return this.externalMemorySizeField;
            }
            set
            {
                this.externalMemorySizeField = value;
            }
        }

        /// <remarks/>
        public DigitalCameraCameraType CameraType
        {
            get
            {
                return this.cameraTypeField;
            }
            set
            {
                this.cameraTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool CameraTypeSpecified
        {
            get
            {
                return this.cameraTypeFieldSpecified;
            }
            set
            {
                this.cameraTypeFieldSpecified = value;
            }
        }

        /// <remarks/>
        public DigitalCameraFocusType FocusType
        {
            get
            {
                return this.focusTypeField;
            }
            set
            {
                this.focusTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool FocusTypeSpecified
        {
            get
            {
                return this.focusTypeFieldSpecified;
            }
            set
            {
                this.focusTypeFieldSpecified = value;
            }
        }

        /// <remarks/>
        public DigitalCameraSensorType SensorType
        {
            get
            {
                return this.sensorTypeField;
            }
            set
            {
                this.sensorTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool SensorTypeSpecified
        {
            get
            {
                return this.sensorTypeFieldSpecified;
            }
            set
            {
                this.sensorTypeFieldSpecified = value;
            }
        }

        /// <remarks/>
        public LengthDimension LCDScreenSize
        {
            get
            {
                return this.lCDScreenSizeField;
            }
            set
            {
                this.lCDScreenSizeField = value;
            }
        }

        /// <remarks/>
        public bool LCDSwivel
        {
            get
            {
                return this.lCDSwivelField;
            }
            set
            {
                this.lCDSwivelField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool LCDSwivelSpecified
        {
            get
            {
                return this.lCDSwivelFieldSpecified;
            }
            set
            {
                this.lCDSwivelFieldSpecified = value;
            }
        }

        /// <remarks/>
        public DigitalCameraViewfinder Viewfinder
        {
            get
            {
                return this.viewfinderField;
            }
            set
            {
                this.viewfinderField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ViewfinderSpecified
        {
            get
            {
                return this.viewfinderFieldSpecified;
            }
            set
            {
                this.viewfinderFieldSpecified = value;
            }
        }

        /// <remarks/>
        public ApertureDimension MinAperture
        {
            get
            {
                return this.minApertureField;
            }
            set
            {
                this.minApertureField = value;
            }
        }

        /// <remarks/>
        public ApertureDimension MaxAperture
        {
            get
            {
                return this.maxApertureField;
            }
            set
            {
                this.maxApertureField = value;
            }
        }

        /// <remarks/>
        public bool ImageStabilization
        {
            get
            {
                return this.imageStabilizationField;
            }
            set
            {
                this.imageStabilizationField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ImageStabilizationSpecified
        {
            get
            {
                return this.imageStabilizationFieldSpecified;
            }
            set
            {
                this.imageStabilizationFieldSpecified = value;
            }
        }

        /// <remarks/>
        public bool InfraredCapability
        {
            get
            {
                return this.infraredCapabilityField;
            }
            set
            {
                this.infraredCapabilityField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool InfraredCapabilitySpecified
        {
            get
            {
                return this.infraredCapabilityFieldSpecified;
            }
            set
            {
                this.infraredCapabilityFieldSpecified = value;
            }
        }

        /// <remarks/>
        public bool FirewireOutput
        {
            get
            {
                return this.firewireOutputField;
            }
            set
            {
                this.firewireOutputField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool FirewireOutputSpecified
        {
            get
            {
                return this.firewireOutputFieldSpecified;
            }
            set
            {
                this.firewireOutputFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("S-VideoOutput")]
        public bool SVideoOutput
        {
            get
            {
                return this.sVideoOutputField;
            }
            set
            {
                this.sVideoOutputField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool SVideoOutputSpecified
        {
            get
            {
                return this.sVideoOutputFieldSpecified;
            }
            set
            {
                this.sVideoOutputFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("USBOutput")]
        public DigitalCameraUSBOutput[] USBOutput
        {
            get
            {
                return this.uSBOutputField;
            }
            set
            {
                this.uSBOutputField = value;
            }
        }

        /// <remarks/>
        public bool AVOutput
        {
            get
            {
                return this.aVOutputField;
            }
            set
            {
                this.aVOutputField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AVOutputSpecified
        {
            get
            {
                return this.aVOutputFieldSpecified;
            }
            set
            {
                this.aVOutputFieldSpecified = value;
            }
        }

        /// <remarks/>
        public bool DigitalStillCapability
        {
            get
            {
                return this.digitalStillCapabilityField;
            }
            set
            {
                this.digitalStillCapabilityField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DigitalStillCapabilitySpecified
        {
            get
            {
                return this.digitalStillCapabilityFieldSpecified;
            }
            set
            {
                this.digitalStillCapabilityFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string DigitalStillResolution
        {
            get
            {
                return this.digitalStillResolutionField;
            }
            set
            {
                this.digitalStillResolutionField = value;
            }
        }

        /// <remarks/>
        public DigitalCameraExternalMemoryType ExternalMemoryType
        {
            get
            {
                return this.externalMemoryTypeField;
            }
            set
            {
                this.externalMemoryTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ExternalMemoryTypeSpecified
        {
            get
            {
                return this.externalMemoryTypeFieldSpecified;
            }
            set
            {
                this.externalMemoryTypeFieldSpecified = value;
            }
        }

        /// <remarks/>
        public bool ExternalMemoryIncluded
        {
            get
            {
                return this.externalMemoryIncludedField;
            }
            set
            {
                this.externalMemoryIncludedField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ExternalMemoryIncludedSpecified
        {
            get
            {
                return this.externalMemoryIncludedFieldSpecified;
            }
            set
            {
                this.externalMemoryIncludedFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Features")]
        public DigitalCameraFeatures[] Features
        {
            get
            {
                return this.featuresField;
            }
            set
            {
                this.featuresField = value;
            }
        }

        /// <remarks/>
        public bool USBStreaming
        {
            get
            {
                return this.uSBStreamingField;
            }
            set
            {
                this.uSBStreamingField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool USBStreamingSpecified
        {
            get
            {
                return this.uSBStreamingFieldSpecified;
            }
            set
            {
                this.uSBStreamingFieldSpecified = value;
            }
        }

        /// <remarks/>
        public bool HeadphoneJack
        {
            get
            {
                return this.headphoneJackField;
            }
            set
            {
                this.headphoneJackField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool HeadphoneJackSpecified
        {
            get
            {
                return this.headphoneJackFieldSpecified;
            }
            set
            {
                this.headphoneJackFieldSpecified = value;
            }
        }

        /// <remarks/>
        public bool FlyingEraseHeads
        {
            get
            {
                return this.flyingEraseHeadsField;
            }
            set
            {
                this.flyingEraseHeadsField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool FlyingEraseHeadsSpecified
        {
            get
            {
                return this.flyingEraseHeadsFieldSpecified;
            }
            set
            {
                this.flyingEraseHeadsFieldSpecified = value;
            }
        }

        /// <remarks/>
        public bool Autolight
        {
            get
            {
                return this.autolightField;
            }
            set
            {
                this.autolightField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AutolightSpecified
        {
            get
            {
                return this.autolightFieldSpecified;
            }
            set
            {
                this.autolightFieldSpecified = value;
            }
        }

        /// <remarks/>
        public bool HotShoe
        {
            get
            {
                return this.hotShoeField;
            }
            set
            {
                this.hotShoeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool HotShoeSpecified
        {
            get
            {
                return this.hotShoeFieldSpecified;
            }
            set
            {
                this.hotShoeFieldSpecified = value;
            }
        }

        /// <remarks/>
        public LengthDimension LensThread
        {
            get
            {
                return this.lensThreadField;
            }
            set
            {
                this.lensThreadField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ComputerPlatform")]
        public ComputerPlatform[] ComputerPlatform
        {
            get
            {
                return this.computerPlatformField;
            }
            set
            {
                this.computerPlatformField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string SoftwareIncluded
        {
            get
            {
                return this.softwareIncludedField;
            }
            set
            {
                this.softwareIncludedField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string BatteryType
        {
            get
            {
                return this.batteryTypeField;
            }
            set
            {
                this.batteryTypeField = value;
            }
        }

        /// <remarks/>
        public bool RechargeableBatteryIncluded
        {
            get
            {
                return this.rechargeableBatteryIncludedField;
            }
            set
            {
                this.rechargeableBatteryIncludedField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool RechargeableBatteryIncludedSpecified
        {
            get
            {
                return this.rechargeableBatteryIncludedFieldSpecified;
            }
            set
            {
                this.rechargeableBatteryIncludedFieldSpecified = value;
            }
        }

        /// <remarks/>
        public bool ACAdapterIncluded
        {
            get
            {
                return this.aCAdapterIncludedField;
            }
            set
            {
                this.aCAdapterIncludedField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ACAdapterIncludedSpecified
        {
            get
            {
                return this.aCAdapterIncludedFieldSpecified;
            }
            set
            {
                this.aCAdapterIncludedFieldSpecified = value;
            }
        }

        /// <remarks/>
        public bool RemoteIncluded
        {
            get
            {
                return this.remoteIncludedField;
            }
            set
            {
                this.remoteIncludedField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool RemoteIncludedSpecified
        {
            get
            {
                return this.remoteIncludedFieldSpecified;
            }
            set
            {
                this.remoteIncludedFieldSpecified = value;
            }
        }

        /// <remarks/>
        public DigitalCameraConnectivity Connectivity
        {
            get
            {
                return this.connectivityField;
            }
            set
            {
                this.connectivityField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ConnectivitySpecified
        {
            get
            {
                return this.connectivityFieldSpecified;
            }
            set
            {
                this.connectivityFieldSpecified = value;
            }
        }

        /// <remarks/>
        public DigitalCameraInternalMemoryType InternalMemoryType
        {
            get
            {
                return this.internalMemoryTypeField;
            }
            set
            {
                this.internalMemoryTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool InternalMemoryTypeSpecified
        {
            get
            {
                return this.internalMemoryTypeFieldSpecified;
            }
            set
            {
                this.internalMemoryTypeFieldSpecified = value;
            }
        }

        /// <remarks/>
        public PixelDimension MaxImageResolution
        {
            get
            {
                return this.maxImageResolutionField;
            }
            set
            {
                this.maxImageResolutionField = value;
            }
        }

        /// <remarks/>
        public DigitalCameraUncompressedMode UncompressedMode
        {
            get
            {
                return this.uncompressedModeField;
            }
            set
            {
                this.uncompressedModeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool UncompressedModeSpecified
        {
            get
            {
                return this.uncompressedModeFieldSpecified;
            }
            set
            {
                this.uncompressedModeFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ISOEquivalency
        {
            get
            {
                return this.iSOEquivalencyField;
            }
            set
            {
                this.iSOEquivalencyField = value;
            }
        }

        /// <remarks/>
        public LengthDimension MacroFocus
        {
            get
            {
                return this.macroFocusField;
            }
            set
            {
                this.macroFocusField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string MinShutterSpeed
        {
            get
            {
                return this.minShutterSpeedField;
            }
            set
            {
                this.minShutterSpeedField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string MaxShutterSpeed
        {
            get
            {
                return this.maxShutterSpeedField;
            }
            set
            {
                this.maxShutterSpeedField = value;
            }
        }

        /// <remarks/>
        public bool ManualExposureMode
        {
            get
            {
                return this.manualExposureModeField;
            }
            set
            {
                this.manualExposureModeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ManualExposureModeSpecified
        {
            get
            {
                return this.manualExposureModeFieldSpecified;
            }
            set
            {
                this.manualExposureModeFieldSpecified = value;
            }
        }

        /// <remarks/>
        public bool MovieMode
        {
            get
            {
                return this.movieModeField;
            }
            set
            {
                this.movieModeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool MovieModeSpecified
        {
            get
            {
                return this.movieModeFieldSpecified;
            }
            set
            {
                this.movieModeFieldSpecified = value;
            }
        }

        /// <remarks/>
        public TimeDimension MaxMovieLength
        {
            get
            {
                return this.maxMovieLengthField;
            }
            set
            {
                this.maxMovieLengthField = value;
            }
        }

        /// <remarks/>
        public bool AudioRecording
        {
            get
            {
                return this.audioRecordingField;
            }
            set
            {
                this.audioRecordingField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AudioRecordingSpecified
        {
            get
            {
                return this.audioRecordingFieldSpecified;
            }
            set
            {
                this.audioRecordingFieldSpecified = value;
            }
        }

        /// <remarks/>
        public ContinuousShootingDimension ContinuousShooting
        {
            get
            {
                return this.continuousShootingField;
            }
            set
            {
                this.continuousShootingField = value;
            }
        }

        /// <remarks/>
        public TimeDimension SelfTimer
        {
            get
            {
                return this.selfTimerField;
            }
            set
            {
                this.selfTimerField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum DigitalCameraCameraType
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("point-and-shoot")]
        pointandshoot,

        /// <remarks/>
        slr,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("3-d")]
        Item3d,

        /// <remarks/>
        macro,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("passport-and-id")]
        passportandid,

        /// <remarks/>
        underwater,

        /// <remarks/>
        other,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum DigitalCameraFocusType
    {

        /// <remarks/>
        automatic,

        /// <remarks/>
        manual,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("manual-and-auto")]
        manualandauto,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("focus-free")]
        focusfree,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum DigitalCameraSensorType
    {

        /// <remarks/>
        ccd,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("super-ccd")]
        superccd,

        /// <remarks/>
        cmos,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum DigitalCameraViewfinder
    {

        /// <remarks/>
        optical,

        /// <remarks/>
        electronic,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum DigitalCameraUSBOutput
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("usb1.1")]
        usb11,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("usb2.0")]
        usb20,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum DigitalCameraExternalMemoryType
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("compact-flash")]
        compactflash,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("smart-media")]
        smartmedia,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("secure-digital")]
        securedigital,

        /// <remarks/>
        mmc,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("xd-picture-card")]
        xdpicturecard,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("memory-stick")]
        memorystick,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("micro-drive")]
        microdrive,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("cd-r")]
        cdr,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("cd-rw")]
        cdrw,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("dvd-r")]
        dvdr,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("dvd-rw")]
        dvdrw,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum DigitalCameraFeatures
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("lcd-screen")]
        lcdscreen,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("mpeg-movie-mode")]
        mpegmoviemode,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("interchangeable-lens")]
        interchangeablelens,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("image-stabilization")]
        imagestabilization,

        /// <remarks/>
        waterproof,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum DigitalCameraConnectivity
    {

        /// <remarks/>
        usb,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("usb1.1")]
        usb11,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("usb2.0")]
        usb20,

        /// <remarks/>
        firewire,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("firewire2.0")]
        firewire20,

        /// <remarks/>
        serial,

        /// <remarks/>
        parallel,

        /// <remarks/>
        ieee1394,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum DigitalCameraInternalMemoryType
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("compact-flash")]
        compactflash,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("compact-flash-ii")]
        compactflashii,

        /// <remarks/>
        pcmcia,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("pcmcia-ii")]
        pcmciaii,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("pcmcia-iii")]
        pcmciaiii,

        /// <remarks/>
        smartmedia,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("memory-sticks")]
        memorysticks,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("sd-multi-media")]
        sdmultimedia,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("xd-picture-card")]
        xdpicturecard,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum DigitalCameraUncompressedMode
    {

        /// <remarks/>
        tiff,

        /// <remarks/>
        raw,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlRootAttribute("ContinuousShootingSpeed", Namespace = "", IsNullable = false)]
    public partial class ContinuousShootingDimension
    {

        private ContinuousShootingUnitOfMeasure unitOfMeasureField;

        private string valueField;

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public ContinuousShootingUnitOfMeasure unitOfMeasure
        {
            get
            {
                return this.unitOfMeasureField;
            }
            set
            {
                this.unitOfMeasureField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute(DataType = "positiveInteger")]
        public string Value
        {
            get
            {
                return this.valueField;
            }
            set
            {
                this.valueField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    public enum ContinuousShootingUnitOfMeasure
    {

        /// <remarks/>
        frames,
    } 
    #endregion

    #region Film
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
    public partial class Film
    {

        private FilmFilmColor filmColorField;

        private bool filmColorFieldSpecified;

        private FilmFilmType filmTypeField;

        private bool filmTypeFieldSpecified;

        private FilmFormat formatField;

        private bool formatFieldSpecified;

        private FilmASAISO aSAISOField;

        private bool aSAISOFieldSpecified;

        private FilmExposureCount exposureCountField;

        private bool exposureCountFieldSpecified;

        private FilmLightingType lightingTypeField;

        private bool lightingTypeFieldSpecified;

        /// <remarks/>
        public FilmFilmColor FilmColor
        {
            get
            {
                return this.filmColorField;
            }
            set
            {
                this.filmColorField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool FilmColorSpecified
        {
            get
            {
                return this.filmColorFieldSpecified;
            }
            set
            {
                this.filmColorFieldSpecified = value;
            }
        }

        /// <remarks/>
        public FilmFilmType FilmType
        {
            get
            {
                return this.filmTypeField;
            }
            set
            {
                this.filmTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool FilmTypeSpecified
        {
            get
            {
                return this.filmTypeFieldSpecified;
            }
            set
            {
                this.filmTypeFieldSpecified = value;
            }
        }

        /// <remarks/>
        public FilmFormat Format
        {
            get
            {
                return this.formatField;
            }
            set
            {
                this.formatField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool FormatSpecified
        {
            get
            {
                return this.formatFieldSpecified;
            }
            set
            {
                this.formatFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ASA-ISO")]
        public FilmASAISO ASAISO
        {
            get
            {
                return this.aSAISOField;
            }
            set
            {
                this.aSAISOField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ASAISOSpecified
        {
            get
            {
                return this.aSAISOFieldSpecified;
            }
            set
            {
                this.aSAISOFieldSpecified = value;
            }
        }

        /// <remarks/>
        public FilmExposureCount ExposureCount
        {
            get
            {
                return this.exposureCountField;
            }
            set
            {
                this.exposureCountField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ExposureCountSpecified
        {
            get
            {
                return this.exposureCountFieldSpecified;
            }
            set
            {
                this.exposureCountFieldSpecified = value;
            }
        }

        /// <remarks/>
        public FilmLightingType LightingType
        {
            get
            {
                return this.lightingTypeField;
            }
            set
            {
                this.lightingTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool LightingTypeSpecified
        {
            get
            {
                return this.lightingTypeFieldSpecified;
            }
            set
            {
                this.lightingTypeFieldSpecified = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum FilmFilmColor
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("black-and-white")]
        blackandwhite,

        /// <remarks/>
        color,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum FilmFilmType
    {

        /// <remarks/>
        print,

        /// <remarks/>
        slide,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum FilmFormat
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("35mm")]
        Item35mm,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("70mm")]
        Item70mm,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("110")]
        Item110,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("120")]
        Item120,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("220")]
        Item220,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("2x3")]
        Item2x3,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("4x5")]
        Item4x5,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("5x7")]
        Item5x7,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("8x10")]
        Item8x10,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("11x14")]
        Item11x14,

        /// <remarks/>
        aps,

        /// <remarks/>
        micro,

        /// <remarks/>
        instant,

        /// <remarks/>
        other,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum FilmASAISO
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("up-to-99")]
        upto99,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("100")]
        Item100,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("125")]
        Item125,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("160")]
        Item160,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("200")]
        Item200,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("320")]
        Item320,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("400")]
        Item400,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("above-401")]
        above401,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum FilmExposureCount
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("12-exposure")]
        Item12exposure,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("24-exposure")]
        Item24exposure,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("36-exposure")]
        Item36exposure,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("other-exposure-count")]
        otherexposurecount,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum FilmLightingType
    {

        /// <remarks/>
        daylight,

        /// <remarks/>
        infrared,

        /// <remarks/>
        tungsten,
    } 
    #endregion

    #region FilmCamera
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
    public partial class FilmCamera
    {

        private FilmCameraCameraType cameraTypeField;

        private bool cameraTypeFieldSpecified;

        private FilmCameraFilmFormat filmFormatField;

        private bool filmFormatFieldSpecified;

        private FilmCameraFocusType focusTypeField;

        private bool focusTypeFieldSpecified;

        private FilmCameraLensType lensTypeField;

        private bool lensTypeFieldSpecified;

        private LengthDimension opticalZoomRangeField;

        private LengthDimension minFocalLengthField;

        private LengthDimension maxFocalLengthField;

        private ApertureDimension minApertureField;

        private ApertureDimension maxApertureField;

        private string minShutterSpeedField;

        private string maxShutterSpeedField;

        private string meteringMethodsField;

        private string iSORangeField;

        private FilmCameraFlashType flashTypeField;

        private bool flashTypeFieldSpecified;

        private string flashModesField;

        private bool hotShoeField;

        private bool hotShoeFieldSpecified;

        private bool flashSynchronizationField;

        private bool flashSynchronizationFieldSpecified;

        private bool redEyeReductionField;

        private bool redEyeReductionFieldSpecified;

        private bool diopterAdjustmentField;

        private bool diopterAdjustmentFieldSpecified;

        private FilmCameraViewfinder viewfinderField;

        private bool viewfinderFieldSpecified;

        private bool lCDField;

        private bool lCDFieldSpecified;

        private bool dateImprintField;

        private bool dateImprintFieldSpecified;

        private bool midrollChangeField;

        private bool midrollChangeFieldSpecified;

        private bool midrollRewindField;

        private bool midrollRewindFieldSpecified;

        private bool autoRewindField;

        private bool autoRewindFieldSpecified;

        private bool autoFilmAdvanceField;

        private bool autoFilmAdvanceFieldSpecified;

        private bool autoFilmLoadField;

        private bool autoFilmLoadFieldSpecified;

        private TimeDimension selfTimerField;

        private bool remoteIncludedField;

        private bool remoteIncludedFieldSpecified;

        private ContinuousShootingDimension continuousShootingField;

        private string batteryTypeField;

        private bool batteryIncludedField;

        private bool batteryIncludedFieldSpecified;

        private FilmCameraExposureControl exposureControlField;

        private bool exposureControlFieldSpecified;

        private FilmCameraSize sizeField;

        private bool sizeFieldSpecified;

        private FilmCameraPackageType packageTypeField;

        private bool packageTypeFieldSpecified;

        /// <remarks/>
        public FilmCameraCameraType CameraType
        {
            get
            {
                return this.cameraTypeField;
            }
            set
            {
                this.cameraTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool CameraTypeSpecified
        {
            get
            {
                return this.cameraTypeFieldSpecified;
            }
            set
            {
                this.cameraTypeFieldSpecified = value;
            }
        }

        /// <remarks/>
        public FilmCameraFilmFormat FilmFormat
        {
            get
            {
                return this.filmFormatField;
            }
            set
            {
                this.filmFormatField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool FilmFormatSpecified
        {
            get
            {
                return this.filmFormatFieldSpecified;
            }
            set
            {
                this.filmFormatFieldSpecified = value;
            }
        }

        /// <remarks/>
        public FilmCameraFocusType FocusType
        {
            get
            {
                return this.focusTypeField;
            }
            set
            {
                this.focusTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool FocusTypeSpecified
        {
            get
            {
                return this.focusTypeFieldSpecified;
            }
            set
            {
                this.focusTypeFieldSpecified = value;
            }
        }

        /// <remarks/>
        public FilmCameraLensType LensType
        {
            get
            {
                return this.lensTypeField;
            }
            set
            {
                this.lensTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool LensTypeSpecified
        {
            get
            {
                return this.lensTypeFieldSpecified;
            }
            set
            {
                this.lensTypeFieldSpecified = value;
            }
        }

        /// <remarks/>
        public LengthDimension OpticalZoomRange
        {
            get
            {
                return this.opticalZoomRangeField;
            }
            set
            {
                this.opticalZoomRangeField = value;
            }
        }

        /// <remarks/>
        public LengthDimension MinFocalLength
        {
            get
            {
                return this.minFocalLengthField;
            }
            set
            {
                this.minFocalLengthField = value;
            }
        }

        /// <remarks/>
        public LengthDimension MaxFocalLength
        {
            get
            {
                return this.maxFocalLengthField;
            }
            set
            {
                this.maxFocalLengthField = value;
            }
        }

        /// <remarks/>
        public ApertureDimension MinAperture
        {
            get
            {
                return this.minApertureField;
            }
            set
            {
                this.minApertureField = value;
            }
        }

        /// <remarks/>
        public ApertureDimension MaxAperture
        {
            get
            {
                return this.maxApertureField;
            }
            set
            {
                this.maxApertureField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string MinShutterSpeed
        {
            get
            {
                return this.minShutterSpeedField;
            }
            set
            {
                this.minShutterSpeedField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string MaxShutterSpeed
        {
            get
            {
                return this.maxShutterSpeedField;
            }
            set
            {
                this.maxShutterSpeedField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string MeteringMethods
        {
            get
            {
                return this.meteringMethodsField;
            }
            set
            {
                this.meteringMethodsField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string ISORange
        {
            get
            {
                return this.iSORangeField;
            }
            set
            {
                this.iSORangeField = value;
            }
        }

        /// <remarks/>
        public FilmCameraFlashType FlashType
        {
            get
            {
                return this.flashTypeField;
            }
            set
            {
                this.flashTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool FlashTypeSpecified
        {
            get
            {
                return this.flashTypeFieldSpecified;
            }
            set
            {
                this.flashTypeFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string FlashModes
        {
            get
            {
                return this.flashModesField;
            }
            set
            {
                this.flashModesField = value;
            }
        }

        /// <remarks/>
        public bool HotShoe
        {
            get
            {
                return this.hotShoeField;
            }
            set
            {
                this.hotShoeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool HotShoeSpecified
        {
            get
            {
                return this.hotShoeFieldSpecified;
            }
            set
            {
                this.hotShoeFieldSpecified = value;
            }
        }

        /// <remarks/>
        public bool FlashSynchronization
        {
            get
            {
                return this.flashSynchronizationField;
            }
            set
            {
                this.flashSynchronizationField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool FlashSynchronizationSpecified
        {
            get
            {
                return this.flashSynchronizationFieldSpecified;
            }
            set
            {
                this.flashSynchronizationFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Red-EyeReduction")]
        public bool RedEyeReduction
        {
            get
            {
                return this.redEyeReductionField;
            }
            set
            {
                this.redEyeReductionField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool RedEyeReductionSpecified
        {
            get
            {
                return this.redEyeReductionFieldSpecified;
            }
            set
            {
                this.redEyeReductionFieldSpecified = value;
            }
        }

        /// <remarks/>
        public bool DiopterAdjustment
        {
            get
            {
                return this.diopterAdjustmentField;
            }
            set
            {
                this.diopterAdjustmentField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DiopterAdjustmentSpecified
        {
            get
            {
                return this.diopterAdjustmentFieldSpecified;
            }
            set
            {
                this.diopterAdjustmentFieldSpecified = value;
            }
        }

        /// <remarks/>
        public FilmCameraViewfinder Viewfinder
        {
            get
            {
                return this.viewfinderField;
            }
            set
            {
                this.viewfinderField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ViewfinderSpecified
        {
            get
            {
                return this.viewfinderFieldSpecified;
            }
            set
            {
                this.viewfinderFieldSpecified = value;
            }
        }

        /// <remarks/>
        public bool LCD
        {
            get
            {
                return this.lCDField;
            }
            set
            {
                this.lCDField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool LCDSpecified
        {
            get
            {
                return this.lCDFieldSpecified;
            }
            set
            {
                this.lCDFieldSpecified = value;
            }
        }

        /// <remarks/>
        public bool DateImprint
        {
            get
            {
                return this.dateImprintField;
            }
            set
            {
                this.dateImprintField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DateImprintSpecified
        {
            get
            {
                return this.dateImprintFieldSpecified;
            }
            set
            {
                this.dateImprintFieldSpecified = value;
            }
        }

        /// <remarks/>
        public bool MidrollChange
        {
            get
            {
                return this.midrollChangeField;
            }
            set
            {
                this.midrollChangeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool MidrollChangeSpecified
        {
            get
            {
                return this.midrollChangeFieldSpecified;
            }
            set
            {
                this.midrollChangeFieldSpecified = value;
            }
        }

        /// <remarks/>
        public bool MidrollRewind
        {
            get
            {
                return this.midrollRewindField;
            }
            set
            {
                this.midrollRewindField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool MidrollRewindSpecified
        {
            get
            {
                return this.midrollRewindFieldSpecified;
            }
            set
            {
                this.midrollRewindFieldSpecified = value;
            }
        }

        /// <remarks/>
        public bool AutoRewind
        {
            get
            {
                return this.autoRewindField;
            }
            set
            {
                this.autoRewindField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AutoRewindSpecified
        {
            get
            {
                return this.autoRewindFieldSpecified;
            }
            set
            {
                this.autoRewindFieldSpecified = value;
            }
        }

        /// <remarks/>
        public bool AutoFilmAdvance
        {
            get
            {
                return this.autoFilmAdvanceField;
            }
            set
            {
                this.autoFilmAdvanceField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AutoFilmAdvanceSpecified
        {
            get
            {
                return this.autoFilmAdvanceFieldSpecified;
            }
            set
            {
                this.autoFilmAdvanceFieldSpecified = value;
            }
        }

        /// <remarks/>
        public bool AutoFilmLoad
        {
            get
            {
                return this.autoFilmLoadField;
            }
            set
            {
                this.autoFilmLoadField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AutoFilmLoadSpecified
        {
            get
            {
                return this.autoFilmLoadFieldSpecified;
            }
            set
            {
                this.autoFilmLoadFieldSpecified = value;
            }
        }

        /// <remarks/>
        public TimeDimension SelfTimer
        {
            get
            {
                return this.selfTimerField;
            }
            set
            {
                this.selfTimerField = value;
            }
        }

        /// <remarks/>
        public bool RemoteIncluded
        {
            get
            {
                return this.remoteIncludedField;
            }
            set
            {
                this.remoteIncludedField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool RemoteIncludedSpecified
        {
            get
            {
                return this.remoteIncludedFieldSpecified;
            }
            set
            {
                this.remoteIncludedFieldSpecified = value;
            }
        }

        /// <remarks/>
        public ContinuousShootingDimension ContinuousShooting
        {
            get
            {
                return this.continuousShootingField;
            }
            set
            {
                this.continuousShootingField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string BatteryType
        {
            get
            {
                return this.batteryTypeField;
            }
            set
            {
                this.batteryTypeField = value;
            }
        }

        /// <remarks/>
        public bool BatteryIncluded
        {
            get
            {
                return this.batteryIncludedField;
            }
            set
            {
                this.batteryIncludedField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool BatteryIncludedSpecified
        {
            get
            {
                return this.batteryIncludedFieldSpecified;
            }
            set
            {
                this.batteryIncludedFieldSpecified = value;
            }
        }

        /// <remarks/>
        public FilmCameraExposureControl ExposureControl
        {
            get
            {
                return this.exposureControlField;
            }
            set
            {
                this.exposureControlField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ExposureControlSpecified
        {
            get
            {
                return this.exposureControlFieldSpecified;
            }
            set
            {
                this.exposureControlFieldSpecified = value;
            }
        }

        /// <remarks/>
        public FilmCameraSize Size
        {
            get
            {
                return this.sizeField;
            }
            set
            {
                this.sizeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool SizeSpecified
        {
            get
            {
                return this.sizeFieldSpecified;
            }
            set
            {
                this.sizeFieldSpecified = value;
            }
        }

        /// <remarks/>
        public FilmCameraPackageType PackageType
        {
            get
            {
                return this.packageTypeField;
            }
            set
            {
                this.packageTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool PackageTypeSpecified
        {
            get
            {
                return this.packageTypeFieldSpecified;
            }
            set
            {
                this.packageTypeFieldSpecified = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum FilmCameraCameraType
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("point-and-shoot")]
        pointandshoot,

        /// <remarks/>
        slr,

        /// <remarks/>
        instant,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("single-use")]
        singleuse,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("large-format")]
        largeformat,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("medium-format")]
        mediumformat,

        /// <remarks/>
        rangefinder,

        /// <remarks/>
        field,

        /// <remarks/>
        monorail,

        /// <remarks/>
        kids,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("3-d")]
        Item3d,

        /// <remarks/>
        micro,

        /// <remarks/>
        panorama,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("passport-and-id")]
        passportandid,

        /// <remarks/>
        underwater,

        /// <remarks/>
        other,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum FilmCameraFilmFormat
    {

        /// <remarks/>
        aps,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("16mm")]
        Item16mm,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("35mm")]
        Item35mm,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("110")]
        Item110,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("120")]
        Item120,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("2x3")]
        Item2x3,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("4x5")]
        Item4x5,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("5x7")]
        Item5x7,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("6x8")]
        Item6x8,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("8x10")]
        Item8x10,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("8x20")]
        Item8x20,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("10x12")]
        Item10x12,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("11x14")]
        Item11x14,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("12x20")]
        Item12x20,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("14x17")]
        Item14x17,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("16x20")]
        Item16x20,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum FilmCameraFocusType
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("auto-focus")]
        autofocus,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("manual-focus")]
        manualfocus,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("manual-and-auto-focus")]
        manualandautofocus,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("focus-free")]
        focusfree,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum FilmCameraLensType
    {

        /// <remarks/>
        @fixed,

        /// <remarks/>
        interchangeable,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum FilmCameraFlashType
    {

        /// <remarks/>
        automatic,

        /// <remarks/>
        forced,

        /// <remarks/>
        fill,

        /// <remarks/>
        none,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("flash-override")]
        flashoverride,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum FilmCameraViewfinder
    {

        /// <remarks/>
        optical,

        /// <remarks/>
        electronic,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum FilmCameraExposureControl
    {

        /// <remarks/>
        manual,

        /// <remarks/>
        automatic,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("manual-and-automatic")]
        manualandautomatic,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("aperture-priority")]
        aperturepriority,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("shutter-speed-priority")]
        shutterspeedpriority,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum FilmCameraSize
    {

        /// <remarks/>
        compact,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("ultra-compact")]
        ultracompact,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum FilmCameraPackageType
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("body-only")]
        bodyonly,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("multiple-lenses")]
        multiplelenses,
    } 
    #endregion

    #region Filter
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
    public partial class Filter
    {

        private FilterForUseWith forUseWithField;

        private bool forUseWithFieldSpecified;

        private FilterPackageType packageTypeField;

        private bool packageTypeFieldSpecified;

        private FilterMountType mountTypeField;

        private bool mountTypeFieldSpecified;

        private LengthDimension threadSizeField;

        private FilterDropInSize dropInSizeField;

        private bool dropInSizeFieldSpecified;

        private FilterBayonetSize bayonetSizeField;

        private bool bayonetSizeFieldSpecified;

        private FilterFilterType filterTypeField;

        private bool filterTypeFieldSpecified;

        private FilterFilterColor filterColorField;

        private bool filterColorFieldSpecified;

        private FilterSpecialEffect specialEffectField;

        private bool specialEffectFieldSpecified;

        private FilterSpecificUses specificUsesField;

        private bool specificUsesFieldSpecified;

        /// <remarks/>
        public FilterForUseWith ForUseWith
        {
            get
            {
                return this.forUseWithField;
            }
            set
            {
                this.forUseWithField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ForUseWithSpecified
        {
            get
            {
                return this.forUseWithFieldSpecified;
            }
            set
            {
                this.forUseWithFieldSpecified = value;
            }
        }

        /// <remarks/>
        public FilterPackageType PackageType
        {
            get
            {
                return this.packageTypeField;
            }
            set
            {
                this.packageTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool PackageTypeSpecified
        {
            get
            {
                return this.packageTypeFieldSpecified;
            }
            set
            {
                this.packageTypeFieldSpecified = value;
            }
        }

        /// <remarks/>
        public FilterMountType MountType
        {
            get
            {
                return this.mountTypeField;
            }
            set
            {
                this.mountTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool MountTypeSpecified
        {
            get
            {
                return this.mountTypeFieldSpecified;
            }
            set
            {
                this.mountTypeFieldSpecified = value;
            }
        }

        /// <remarks/>
        public LengthDimension ThreadSize
        {
            get
            {
                return this.threadSizeField;
            }
            set
            {
                this.threadSizeField = value;
            }
        }

        /// <remarks/>
        public FilterDropInSize DropInSize
        {
            get
            {
                return this.dropInSizeField;
            }
            set
            {
                this.dropInSizeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DropInSizeSpecified
        {
            get
            {
                return this.dropInSizeFieldSpecified;
            }
            set
            {
                this.dropInSizeFieldSpecified = value;
            }
        }

        /// <remarks/>
        public FilterBayonetSize BayonetSize
        {
            get
            {
                return this.bayonetSizeField;
            }
            set
            {
                this.bayonetSizeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool BayonetSizeSpecified
        {
            get
            {
                return this.bayonetSizeFieldSpecified;
            }
            set
            {
                this.bayonetSizeFieldSpecified = value;
            }
        }

        /// <remarks/>
        public FilterFilterType FilterType
        {
            get
            {
                return this.filterTypeField;
            }
            set
            {
                this.filterTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool FilterTypeSpecified
        {
            get
            {
                return this.filterTypeFieldSpecified;
            }
            set
            {
                this.filterTypeFieldSpecified = value;
            }
        }

        /// <remarks/>
        public FilterFilterColor FilterColor
        {
            get
            {
                return this.filterColorField;
            }
            set
            {
                this.filterColorField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool FilterColorSpecified
        {
            get
            {
                return this.filterColorFieldSpecified;
            }
            set
            {
                this.filterColorFieldSpecified = value;
            }
        }

        /// <remarks/>
        public FilterSpecialEffect SpecialEffect
        {
            get
            {
                return this.specialEffectField;
            }
            set
            {
                this.specialEffectField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool SpecialEffectSpecified
        {
            get
            {
                return this.specialEffectFieldSpecified;
            }
            set
            {
                this.specialEffectFieldSpecified = value;
            }
        }

        /// <remarks/>
        public FilterSpecificUses SpecificUses
        {
            get
            {
                return this.specificUsesField;
            }
            set
            {
                this.specificUsesField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool SpecificUsesSpecified
        {
            get
            {
                return this.specificUsesFieldSpecified;
            }
            set
            {
                this.specificUsesFieldSpecified = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum FilterForUseWith
    {

        /// <remarks/>
        camcorders,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("digital-cameras")]
        digitalcameras,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("film-cameras")]
        filmcameras,

        /// <remarks/>
        telescopes,

        /// <remarks/>
        binoculars,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum FilterPackageType
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("single-filter")]
        singlefilter,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("filter-sets")]
        filtersets,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum FilterMountType
    {

        /// <remarks/>
        round,

        /// <remarks/>
        square,

        /// <remarks/>
        bayonet,

        /// <remarks/>
        other,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum FilterDropInSize
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("6-inch-wratten")]
        Item6inchwratten,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("cokin-a")]
        cokina,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("cokin-p")]
        cokinp,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("lee-type")]
        leetype,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("pro-optic-a")]
        prooptica,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("pro-optic-p")]
        proopticp,

        /// <remarks/>
        other,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum FilterBayonetSize
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("b-3")]
        b3,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("b-39")]
        b39,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("b-50")]
        b50,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("b-6")]
        b6,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("b-60")]
        b60,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("b-70")]
        b70,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("b-93")]
        b93,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum FilterFilterType
    {

        /// <remarks/>
        graduated,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("black-and-white-contrast")]
        blackandwhitecontrast,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("close-up")]
        closeup,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("image-softening")]
        imagesoftening,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("neutral-density")]
        neutraldensity,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("general-polarizer")]
        generalpolarizer,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("circular-polarizer")]
        circularpolarizer,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("linear-polarizer")]
        linearpolarizer,

        /// <remarks/>
        underwater,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("uv-and-protective")]
        uvandprotective,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("viewing-filters")]
        viewingfilters,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("lighting-and-compensation")]
        lightingandcompensation,

        /// <remarks/>
        cooling,

        /// <remarks/>
        flourescent,

        /// <remarks/>
        indoor,

        /// <remarks/>
        outdoor,

        /// <remarks/>
        warming,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum FilterFilterColor
    {

        /// <remarks/>
        blue,

        /// <remarks/>
        brown,

        /// <remarks/>
        cyan,

        /// <remarks/>
        green,

        /// <remarks/>
        magenta,

        /// <remarks/>
        orange,

        /// <remarks/>
        red,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("red-orange")]
        redorange,

        /// <remarks/>
        violet,

        /// <remarks/>
        yellow,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("yellow-green")]
        yellowgreen,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("yellow-orange")]
        yelloworange,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum FilterSpecialEffect
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("center-spot")]
        centerspot,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("cross-screen")]
        crossscreen,

        /// <remarks/>
        diffraction,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("double-exposure")]
        doubleexposure,

        /// <remarks/>
        enhancing,

        /// <remarks/>
        fog,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("hot-mirror")]
        hotmirror,

        /// <remarks/>
        infrared,

        /// <remarks/>
        masks,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("multi-image")]
        multiimage,

        /// <remarks/>
        prism,

        /// <remarks/>
        sepia,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("special-contrast")]
        specialcontrast,

        /// <remarks/>
        speed,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("split-field")]
        splitfield,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("star-filters")]
        starfilters,

        /// <remarks/>
        other,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum FilterSpecificUses
    {

        /// <remarks/>
        travel,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("hiking-and-outdoors")]
        hikingandoutdoors,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("hunting-and-shooting")]
        huntingandshooting,

        /// <remarks/>
        sports,
    } 
    #endregion

    #region Flash
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
    public partial class Flash
    {

        private FlashFlashType flashTypeField;

        private bool flashTypeFieldSpecified;

        private FlashSlaveFlashes slaveFlashesField;

        private bool slaveFlashesFieldSpecified;

        private FlashDedication dedicationField;

        private bool dedicationFieldSpecified;

        /// <remarks/>
        public FlashFlashType FlashType
        {
            get
            {
                return this.flashTypeField;
            }
            set
            {
                this.flashTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool FlashTypeSpecified
        {
            get
            {
                return this.flashTypeFieldSpecified;
            }
            set
            {
                this.flashTypeFieldSpecified = value;
            }
        }

        /// <remarks/>
        public FlashSlaveFlashes SlaveFlashes
        {
            get
            {
                return this.slaveFlashesField;
            }
            set
            {
                this.slaveFlashesField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool SlaveFlashesSpecified
        {
            get
            {
                return this.slaveFlashesFieldSpecified;
            }
            set
            {
                this.slaveFlashesFieldSpecified = value;
            }
        }

        /// <remarks/>
        public FlashDedication Dedication
        {
            get
            {
                return this.dedicationField;
            }
            set
            {
                this.dedicationField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DedicationSpecified
        {
            get
            {
                return this.dedicationFieldSpecified;
            }
            set
            {
                this.dedicationFieldSpecified = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum FlashFlashType
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("handle-mount")]
        handlemount,

        /// <remarks/>
        macro,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("ring-light")]
        ringlight,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("shoe-mount")]
        shoemount,

        /// <remarks/>
        other,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum FlashSlaveFlashes
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("slave-flashed-general")]
        slaveflashedgeneral,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("slave-transmitters-and-receivers")]
        slavetransmittersandreceivers,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("optical-slaves")]
        opticalslaves,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("slave-accessories")]
        slaveaccessories,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum FlashDedication
    {

        /// <remarks/>
        dedicated,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("non-dedicated")]
        nondedicated,
    } 
    #endregion

    #region Lens
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
    public partial class Lens
    {

        private LensCameraType cameraTypeField;

        private bool cameraTypeFieldSpecified;

        private LengthDimension minFocalLengthField;

        private LengthDimension maxFocalLengthField;

        private LensLensType lensTypeField;

        private bool lensTypeFieldSpecified;

        private LensFocusType focusTypeField;

        private bool focusTypeFieldSpecified;

        private LensFeatures[] featuresField;

        /// <remarks/>
        public LensCameraType CameraType
        {
            get
            {
                return this.cameraTypeField;
            }
            set
            {
                this.cameraTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool CameraTypeSpecified
        {
            get
            {
                return this.cameraTypeFieldSpecified;
            }
            set
            {
                this.cameraTypeFieldSpecified = value;
            }
        }

        /// <remarks/>
        public LengthDimension MinFocalLength
        {
            get
            {
                return this.minFocalLengthField;
            }
            set
            {
                this.minFocalLengthField = value;
            }
        }

        /// <remarks/>
        public LengthDimension MaxFocalLength
        {
            get
            {
                return this.maxFocalLengthField;
            }
            set
            {
                this.maxFocalLengthField = value;
            }
        }

        /// <remarks/>
        public LensLensType LensType
        {
            get
            {
                return this.lensTypeField;
            }
            set
            {
                this.lensTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool LensTypeSpecified
        {
            get
            {
                return this.lensTypeFieldSpecified;
            }
            set
            {
                this.lensTypeFieldSpecified = value;
            }
        }

        /// <remarks/>
        public LensFocusType FocusType
        {
            get
            {
                return this.focusTypeField;
            }
            set
            {
                this.focusTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool FocusTypeSpecified
        {
            get
            {
                return this.focusTypeFieldSpecified;
            }
            set
            {
                this.focusTypeFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Features")]
        public LensFeatures[] Features
        {
            get
            {
                return this.featuresField;
            }
            set
            {
                this.featuresField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum LensCameraType
    {

        /// <remarks/>
        camcorder,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("digital-camera")]
        digitalcamera,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("35mm-rangefinder")]
        Item35mmrangefinder,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("35mm-slr")]
        Item35mmslr,

        /// <remarks/>
        aps,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("large-format")]
        largeformat,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("medium-format")]
        mediumformat,

        /// <remarks/>
        underwater,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum LensLensType
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("wide-angle")]
        wideangle,

        /// <remarks/>
        telephoto,

        /// <remarks/>
        zoom,

        /// <remarks/>
        macro,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("tilt-shift")]
        tiltshift,

        /// <remarks/>
        fisheye,

        /// <remarks/>
        teleconverter,

        /// <remarks/>
        normal,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum LensFocusType
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("manual-focus")]
        manualfocus,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("auto-focus")]
        autofocus,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum LensFeatures
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("all-glass-optical")]
        allglassoptical,

        /// <remarks/>
        apochromatic,

        /// <remarks/>
        aspheric,
    } 
    #endregion

    #region LensAccessory
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
    public partial class LensAccessory
    {

        private LensAccessoryForUseWith forUseWithField;

        private bool forUseWithFieldSpecified;

        private LensAccessoryAccessoryType accessoryTypeField;

        private bool accessoryTypeFieldSpecified;

        /// <remarks/>
        public LensAccessoryForUseWith ForUseWith
        {
            get
            {
                return this.forUseWithField;
            }
            set
            {
                this.forUseWithField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ForUseWithSpecified
        {
            get
            {
                return this.forUseWithFieldSpecified;
            }
            set
            {
                this.forUseWithFieldSpecified = value;
            }
        }

        /// <remarks/>
        public LensAccessoryAccessoryType AccessoryType
        {
            get
            {
                return this.accessoryTypeField;
            }
            set
            {
                this.accessoryTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AccessoryTypeSpecified
        {
            get
            {
                return this.accessoryTypeFieldSpecified;
            }
            set
            {
                this.accessoryTypeFieldSpecified = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum LensAccessoryForUseWith
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("film-cameras")]
        filmcameras,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("digital-cameras")]
        digitalcameras,

        /// <remarks/>
        camcorders,

        /// <remarks/>
        telescopes,

        /// <remarks/>
        microscopes,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum LensAccessoryAccessoryType
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("c-mounts")]
        cmounts,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("lens-scope-converters")]
        lensscopeconverters,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("lens-to-camera-adapters")]
        lenstocameraadapters,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("remote-lens-controllers")]
        remotelenscontrollers,

        /// <remarks/>
        extenders,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("series-vii-adapters")]
        seriesviiadapters,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("t-mounts")]
        tmounts,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("tripod-adapters")]
        tripodadapters,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("lens-boards")]
        lensboards,

        /// <remarks/>
        bayonets,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("lens-hoods")]
        lenshoods,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("lens-supports")]
        lenssupports,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("rapid-focusing-levers")]
        rapidfocusinglevers,

        /// <remarks/>
        shutters,

        /// <remarks/>
        diopters,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("mirror-scopes")]
        mirrorscopes,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("lens-caps-general")]
        lenscapsgeneral,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("lens-caps-up-to-48mm")]
        lenscapsupto48mm,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("lens-caps-49mm")]
        lenscaps49mm,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("lens-caps-52mm")]
        lenscaps52mm,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("lens-caps-55mm")]
        lenscaps55mm,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("lens-caps-58mm")]
        lenscaps58mm,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("lens-caps-62mm")]
        lenscaps62mm,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("lens-caps-67mm")]
        lenscaps67mm,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("lens-caps-72mm")]
        lenscaps72mm,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("lens-caps-77mm")]
        lenscaps77mm,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("lens-caps-82mm")]
        lenscaps82mm,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("lens-caps-86mm")]
        lenscaps86mm,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("lens-caps-95mm")]
        lenscaps95mm,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("lens-caps-other-sizes")]
        lenscapsothersizes,
    } 
    #endregion

    #region LightMeter
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
    public partial class LightMeter
    {

        private LightMeterCameraType cameraTypeField;

        private bool cameraTypeFieldSpecified;

        private LightMeterMeterType meterTypeField;

        private bool meterTypeFieldSpecified;

        private LightMeterMeterDisplay meterDisplayField;

        private bool meterDisplayFieldSpecified;

        /// <remarks/>
        public LightMeterCameraType CameraType
        {
            get
            {
                return this.cameraTypeField;
            }
            set
            {
                this.cameraTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool CameraTypeSpecified
        {
            get
            {
                return this.cameraTypeFieldSpecified;
            }
            set
            {
                this.cameraTypeFieldSpecified = value;
            }
        }

        /// <remarks/>
        public LightMeterMeterType MeterType
        {
            get
            {
                return this.meterTypeField;
            }
            set
            {
                this.meterTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool MeterTypeSpecified
        {
            get
            {
                return this.meterTypeFieldSpecified;
            }
            set
            {
                this.meterTypeFieldSpecified = value;
            }
        }

        /// <remarks/>
        public LightMeterMeterDisplay MeterDisplay
        {
            get
            {
                return this.meterDisplayField;
            }
            set
            {
                this.meterDisplayField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool MeterDisplaySpecified
        {
            get
            {
                return this.meterDisplayFieldSpecified;
            }
            set
            {
                this.meterDisplayFieldSpecified = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum LightMeterCameraType
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("film-camera")]
        filmcamera,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("digital-camera")]
        digitalcamera,

        /// <remarks/>
        camcorder,

        /// <remarks/>
        universal,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum LightMeterMeterType
    {

        /// <remarks/>
        ambient,

        /// <remarks/>
        flash,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("ambient-and-flash")]
        ambientandflash,

        /// <remarks/>
        spot,

        /// <remarks/>
        color,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum LightMeterMeterDisplay
    {

        /// <remarks/>
        analog,

        /// <remarks/>
        digital,

        /// <remarks/>
        led,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("match-needle")]
        matchneedle,
    } 
    #endregion

    #region LightingType
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class LightingType
    {

        private LightingTypeForUseWith forUseWithField;

        private bool forUseWithFieldSpecified;

        private LightingTypeLightingType lightingType1Field;

        private bool lightingType1FieldSpecified;

        private LightingTypePowerType powerTypeField;

        private bool powerTypeFieldSpecified;

        private PowerDimension powerField;

        private LightingTypeLightingSourceType lightingSourceTypeField;

        private bool lightingSourceTypeFieldSpecified;

        private LightingTypeSpecialtyUse specialtyUseField;

        private bool specialtyUseFieldSpecified;

        /// <remarks/>
        public LightingTypeForUseWith ForUseWith
        {
            get
            {
                return this.forUseWithField;
            }
            set
            {
                this.forUseWithField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ForUseWithSpecified
        {
            get
            {
                return this.forUseWithFieldSpecified;
            }
            set
            {
                this.forUseWithFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("LightingType")]
        public LightingTypeLightingType LightingType1
        {
            get
            {
                return this.lightingType1Field;
            }
            set
            {
                this.lightingType1Field = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool LightingType1Specified
        {
            get
            {
                return this.lightingType1FieldSpecified;
            }
            set
            {
                this.lightingType1FieldSpecified = value;
            }
        }

        /// <remarks/>
        public LightingTypePowerType PowerType
        {
            get
            {
                return this.powerTypeField;
            }
            set
            {
                this.powerTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool PowerTypeSpecified
        {
            get
            {
                return this.powerTypeFieldSpecified;
            }
            set
            {
                this.powerTypeFieldSpecified = value;
            }
        }

        /// <remarks/>
        public PowerDimension Power
        {
            get
            {
                return this.powerField;
            }
            set
            {
                this.powerField = value;
            }
        }

        /// <remarks/>
        public LightingTypeLightingSourceType LightingSourceType
        {
            get
            {
                return this.lightingSourceTypeField;
            }
            set
            {
                this.lightingSourceTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool LightingSourceTypeSpecified
        {
            get
            {
                return this.lightingSourceTypeFieldSpecified;
            }
            set
            {
                this.lightingSourceTypeFieldSpecified = value;
            }
        }

        /// <remarks/>
        public LightingTypeSpecialtyUse SpecialtyUse
        {
            get
            {
                return this.specialtyUseField;
            }
            set
            {
                this.specialtyUseField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool SpecialtyUseSpecified
        {
            get
            {
                return this.specialtyUseFieldSpecified;
            }
            set
            {
                this.specialtyUseFieldSpecified = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum LightingTypeForUseWith
    {

        /// <remarks/>
        floodlights,

        /// <remarks/>
        spotlights,

        /// <remarks/>
        monolights,

        /// <remarks/>
        flashlights,

        /// <remarks/>
        ballasts,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("cables-and-connectors")]
        cablesandconnectors,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("flash-tubes")]
        flashtubes,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("head-accessories")]
        headaccessories,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("modeling-lamps")]
        modelinglamps,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("mounting-hardware")]
        mountinghardware,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("pack-accessories")]
        packaccessories,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("special-bulbs")]
        specialbulbs,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("general-power-packs")]
        generalpowerpacks,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("1-head-outfits-power-packs")]
        Item1headoutfitspowerpacks,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("2-head-outfits-power-packs")]
        Item2headoutfitspowerpacks,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("3-head-outfits-power-packs")]
        Item3headoutfitspowerpacks,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("4-head-outfits-power-packs")]
        Item4headoutfitspowerpacks,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("slaves-general")]
        slavesgeneral,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("flash-activated-slaves")]
        flashactivatedslaves,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("infrared-slaves")]
        infraredslaves,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("radio-slaves")]
        radioslaves,

        /// <remarks/>
        adapters,

        /// <remarks/>
        barndoors,

        /// <remarks/>
        cucoloris,

        /// <remarks/>
        diffusers,

        /// <remarks/>
        filters,

        /// <remarks/>
        flags,

        /// <remarks/>
        gobos,

        /// <remarks/>
        grids,

        /// <remarks/>
        inserts,

        /// <remarks/>
        liners,

        /// <remarks/>
        louvers,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("panel-systems")]
        panelsystems,

        /// <remarks/>
        reflectors,

        /// <remarks/>
        snoots,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("soft-boxes")]
        softboxes,

        /// <remarks/>
        umbrellas,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum LightingTypeLightingType
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("continuous-output")]
        continuousoutput,

        /// <remarks/>
        strobe,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum LightingTypePowerType
    {

        /// <remarks/>
        ac,

        /// <remarks/>
        dc,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlRootAttribute("PowerConsumption", Namespace = "", IsNullable = false)]
    public partial class PowerDimension
    {

        private PowerUnitOfMeasure unitOfMeasureField;

        private decimal valueField;

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public PowerUnitOfMeasure unitOfMeasure
        {
            get
            {
                return this.unitOfMeasureField;
            }
            set
            {
                this.unitOfMeasureField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public decimal Value
        {
            get
            {
                return this.valueField;
            }
            set
            {
                this.valueField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum LightingTypeLightingSourceType
    {

        /// <remarks/>
        flourescent,

        /// <remarks/>
        hmi,

        /// <remarks/>
        tungsten,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum LightingTypeSpecialtyUse
    {

        /// <remarks/>
        underwater,
    } 
    #endregion
     
    #region Microscope
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
    public partial class Microscope
    {

        private MicroscopeMicroscopeType microscopeTypeField;

        private bool microscopeTypeFieldSpecified;

        private MicroscopeFeatures[] featuresField;

        /// <remarks/>
        public MicroscopeMicroscopeType MicroscopeType
        {
            get
            {
                return this.microscopeTypeField;
            }
            set
            {
                this.microscopeTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool MicroscopeTypeSpecified
        {
            get
            {
                return this.microscopeTypeFieldSpecified;
            }
            set
            {
                this.microscopeTypeFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Features")]
        public MicroscopeFeatures[] Features
        {
            get
            {
                return this.featuresField;
            }
            set
            {
                this.featuresField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum MicroscopeMicroscopeType
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("digital-and-film-systems")]
        digitalandfilmsystems,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("educational-and-hobby")]
        educationalandhobby,

        /// <remarks/>
        laboratory,

        /// <remarks/>
        stereo,

        /// <remarks/>
        other,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum MicroscopeFeatures
    {

        /// <remarks/>
        binocular,

        /// <remarks/>
        monocular,

        /// <remarks/>
        trinocular,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("fixed-optics")]
        fixedoptics,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("zoom-magnification")]
        zoommagnification,
    } 
    #endregion

    #region OtherAccessory
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
    public partial class OtherAccessory
    {

        private OtherAccessoryCameraAccessories cameraAccessoriesField;

        private bool cameraAccessoriesFieldSpecified;

        private OtherAccessoryCamcorderAccessories camcorderAccessoriesField;

        private bool camcorderAccessoriesFieldSpecified;

        private OtherAccessoryTelescopeAccessories telescopeAccessoriesField;

        private bool telescopeAccessoriesFieldSpecified;

        private OtherAccessoryTelescopeEyepiece telescopeEyepieceField;

        private bool telescopeEyepieceFieldSpecified;

        private OtherAccessoryMicroscopeAccessories microscopeAccessoriesField;

        private bool microscopeAccessoriesFieldSpecified;

        private OtherAccessoryFilterAccessories filterAccessoriesField;

        private bool filterAccessoriesFieldSpecified;

        private OtherAccessoryFilmAccessories filmAccessoriesField;

        private bool filmAccessoriesFieldSpecified;

        private OtherAccessoryFlashAccessories flashAccessoriesField;

        private bool flashAccessoriesFieldSpecified;

        private OtherAccessoryBagCaseAccessories bagCaseAccessoriesField;

        private bool bagCaseAccessoriesFieldSpecified;

        private OtherAccessoryUnderwaterPhotographyAccessories underwaterPhotographyAccessoriesField;

        private bool underwaterPhotographyAccessoriesFieldSpecified;

        private OtherAccessoryLightMeterAccessories lightMeterAccessoriesField;

        private bool lightMeterAccessoriesFieldSpecified;

        private OtherAccessoryTripodStandAccessories tripodStandAccessoriesField;

        private bool tripodStandAccessoriesFieldSpecified;

        private OtherAccessoryBinocularAccessories binocularAccessoriesField;

        private bool binocularAccessoriesFieldSpecified;

        private OtherAccessorySpecificUses specificUsesField;

        private bool specificUsesFieldSpecified;

        /// <remarks/>
        public OtherAccessoryCameraAccessories CameraAccessories
        {
            get
            {
                return this.cameraAccessoriesField;
            }
            set
            {
                this.cameraAccessoriesField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool CameraAccessoriesSpecified
        {
            get
            {
                return this.cameraAccessoriesFieldSpecified;
            }
            set
            {
                this.cameraAccessoriesFieldSpecified = value;
            }
        }

        /// <remarks/>
        public OtherAccessoryCamcorderAccessories CamcorderAccessories
        {
            get
            {
                return this.camcorderAccessoriesField;
            }
            set
            {
                this.camcorderAccessoriesField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool CamcorderAccessoriesSpecified
        {
            get
            {
                return this.camcorderAccessoriesFieldSpecified;
            }
            set
            {
                this.camcorderAccessoriesFieldSpecified = value;
            }
        }

        /// <remarks/>
        public OtherAccessoryTelescopeAccessories TelescopeAccessories
        {
            get
            {
                return this.telescopeAccessoriesField;
            }
            set
            {
                this.telescopeAccessoriesField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool TelescopeAccessoriesSpecified
        {
            get
            {
                return this.telescopeAccessoriesFieldSpecified;
            }
            set
            {
                this.telescopeAccessoriesFieldSpecified = value;
            }
        }

        /// <remarks/>
        public OtherAccessoryTelescopeEyepiece TelescopeEyepiece
        {
            get
            {
                return this.telescopeEyepieceField;
            }
            set
            {
                this.telescopeEyepieceField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool TelescopeEyepieceSpecified
        {
            get
            {
                return this.telescopeEyepieceFieldSpecified;
            }
            set
            {
                this.telescopeEyepieceFieldSpecified = value;
            }
        }

        /// <remarks/>
        public OtherAccessoryMicroscopeAccessories MicroscopeAccessories
        {
            get
            {
                return this.microscopeAccessoriesField;
            }
            set
            {
                this.microscopeAccessoriesField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool MicroscopeAccessoriesSpecified
        {
            get
            {
                return this.microscopeAccessoriesFieldSpecified;
            }
            set
            {
                this.microscopeAccessoriesFieldSpecified = value;
            }
        }

        /// <remarks/>
        public OtherAccessoryFilterAccessories FilterAccessories
        {
            get
            {
                return this.filterAccessoriesField;
            }
            set
            {
                this.filterAccessoriesField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool FilterAccessoriesSpecified
        {
            get
            {
                return this.filterAccessoriesFieldSpecified;
            }
            set
            {
                this.filterAccessoriesFieldSpecified = value;
            }
        }

        /// <remarks/>
        public OtherAccessoryFilmAccessories FilmAccessories
        {
            get
            {
                return this.filmAccessoriesField;
            }
            set
            {
                this.filmAccessoriesField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool FilmAccessoriesSpecified
        {
            get
            {
                return this.filmAccessoriesFieldSpecified;
            }
            set
            {
                this.filmAccessoriesFieldSpecified = value;
            }
        }

        /// <remarks/>
        public OtherAccessoryFlashAccessories FlashAccessories
        {
            get
            {
                return this.flashAccessoriesField;
            }
            set
            {
                this.flashAccessoriesField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool FlashAccessoriesSpecified
        {
            get
            {
                return this.flashAccessoriesFieldSpecified;
            }
            set
            {
                this.flashAccessoriesFieldSpecified = value;
            }
        }

        /// <remarks/>
        public OtherAccessoryBagCaseAccessories BagCaseAccessories
        {
            get
            {
                return this.bagCaseAccessoriesField;
            }
            set
            {
                this.bagCaseAccessoriesField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool BagCaseAccessoriesSpecified
        {
            get
            {
                return this.bagCaseAccessoriesFieldSpecified;
            }
            set
            {
                this.bagCaseAccessoriesFieldSpecified = value;
            }
        }

        /// <remarks/>
        public OtherAccessoryUnderwaterPhotographyAccessories UnderwaterPhotographyAccessories
        {
            get
            {
                return this.underwaterPhotographyAccessoriesField;
            }
            set
            {
                this.underwaterPhotographyAccessoriesField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool UnderwaterPhotographyAccessoriesSpecified
        {
            get
            {
                return this.underwaterPhotographyAccessoriesFieldSpecified;
            }
            set
            {
                this.underwaterPhotographyAccessoriesFieldSpecified = value;
            }
        }

        /// <remarks/>
        public OtherAccessoryLightMeterAccessories LightMeterAccessories
        {
            get
            {
                return this.lightMeterAccessoriesField;
            }
            set
            {
                this.lightMeterAccessoriesField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool LightMeterAccessoriesSpecified
        {
            get
            {
                return this.lightMeterAccessoriesFieldSpecified;
            }
            set
            {
                this.lightMeterAccessoriesFieldSpecified = value;
            }
        }

        /// <remarks/>
        public OtherAccessoryTripodStandAccessories TripodStandAccessories
        {
            get
            {
                return this.tripodStandAccessoriesField;
            }
            set
            {
                this.tripodStandAccessoriesField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool TripodStandAccessoriesSpecified
        {
            get
            {
                return this.tripodStandAccessoriesFieldSpecified;
            }
            set
            {
                this.tripodStandAccessoriesFieldSpecified = value;
            }
        }

        /// <remarks/>
        public OtherAccessoryBinocularAccessories BinocularAccessories
        {
            get
            {
                return this.binocularAccessoriesField;
            }
            set
            {
                this.binocularAccessoriesField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool BinocularAccessoriesSpecified
        {
            get
            {
                return this.binocularAccessoriesFieldSpecified;
            }
            set
            {
                this.binocularAccessoriesFieldSpecified = value;
            }
        }

        /// <remarks/>
        public OtherAccessorySpecificUses SpecificUses
        {
            get
            {
                return this.specificUsesField;
            }
            set
            {
                this.specificUsesField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool SpecificUsesSpecified
        {
            get
            {
                return this.specificUsesFieldSpecified;
            }
            set
            {
                this.specificUsesFieldSpecified = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum OtherAccessoryCameraAccessories
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("close-up-accessories")]
        closeupaccessories,

        /// <remarks/>
        viewfinders,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("motor-drives")]
        motordrives,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("eye-cups")]
        eyecups,

        /// <remarks/>
        winders,

        /// <remarks/>
        straps,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("remote-controls")]
        remotecontrols,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("cables-and-cords")]
        cablesandcords,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("other-camera-accessories")]
        othercameraaccessories,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum OtherAccessoryCamcorderAccessories
    {

        /// <remarks/>
        straps,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("remote-controls")]
        remotecontrols,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("cables-and-cords")]
        cablesandcords,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("other-camcorder-accessories")]
        othercamcorderaccessories,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum OtherAccessoryTelescopeAccessories
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("barlow-lenses")]
        barlowlenses,

        /// <remarks/>
        collimators,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("remote-controls")]
        remotecontrols,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("electronic-drives")]
        electronicdrives,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("photo-adapters")]
        photoadapters,

        /// <remarks/>
        finderscopes,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("diagonal-mirrors")]
        diagonalmirrors,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("erecting-prisms")]
        erectingprisms,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("motor-drives")]
        motordrives,

        /// <remarks/>
        illuminators,

        /// <remarks/>
        guiders,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("binocular-viewers")]
        binocularviewers,

        /// <remarks/>
        wedges,

        /// <remarks/>
        mounts,

        /// <remarks/>
        viewfinders,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("sky-maps")]
        skymaps,

        /// <remarks/>
        filters,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("dew-caps")]
        dewcaps,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("other-telescope-accessories")]
        othertelescopeaccessories,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum OtherAccessoryTelescopeEyepiece
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("telescope-eyepieces-general")]
        telescopeeyepiecesgeneral,

        /// <remarks/>
        orthoscopic,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("kellner-and-rke")]
        kellnerandrke,

        /// <remarks/>
        erfle,

        /// <remarks/>
        plossl,

        /// <remarks/>
        nagler,

        /// <remarks/>
        zoom,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("ultra-wide")]
        ultrawide,

        /// <remarks/>
        sma,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("other-eyepieces")]
        othereyepieces,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum OtherAccessoryMicroscopeAccessories
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("boom-stands")]
        boomstands,

        /// <remarks/>
        bulbs,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("camera-adapters-and-mounts")]
        cameraadaptersandmounts,

        /// <remarks/>
        eyepieces,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("inspection-systems")]
        inspectionsystems,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("light-stands")]
        lightstands,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("microscope-cases")]
        microscopecases,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("slides-and-slide-kits")]
        slidesandslidekits,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("other-microscope-accessories")]
        othermicroscopeaccessories,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum OtherAccessoryFilterAccessories
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("adapter-rings")]
        adapterrings,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("filter-caps")]
        filtercaps,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("filter-holders")]
        filterholders,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("filter-hoods")]
        filterhoods,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("gel-holder")]
        gelholder,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("step-down-ring")]
        stepdownring,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("step-up-ring")]
        stepupring,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum OtherAccessoryFilmAccessories
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("mounting-equipment-and-cutters")]
        mountingequipmentandcutters,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("slide-mounts")]
        slidemounts,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("film-mailers")]
        filmmailers,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("film-loaders")]
        filmloaders,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("other-film-accessories")]
        otherfilmaccessories,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum OtherAccessoryFlashAccessories
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("adapter-rings")]
        adapterrings,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("battery-packs")]
        batterypacks,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("camera-brackets")]
        camerabrackets,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("flash-bouncers")]
        flashbouncers,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("flash-diffusers")]
        flashdiffusers,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("flash-filters")]
        flashfilters,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("flash-pouches")]
        flashpouches,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("flash-shoe-mounts")]
        flashshoemounts,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("synch-and-pc-cords")]
        synchandpccords,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("other-flash-accessories")]
        otherflashaccessories,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum OtherAccessoryBagCaseAccessories
    {

        /// <remarks/>
        liners,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("rain-covers")]
        raincovers,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("replacement-parts")]
        replacementparts,

        /// <remarks/>
        straps,

        /// <remarks/>
        belts,

        /// <remarks/>
        harnesses,

        /// <remarks/>
        inserts,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("other-bag-and-case-accessories")]
        otherbagandcaseaccessories,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum OtherAccessoryUnderwaterPhotographyAccessories
    {

        /// <remarks/>
        housings,

        /// <remarks/>
        rainguards,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("other-underwater-accessories")]
        otherunderwateraccessories,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum OtherAccessoryLightMeterAccessories
    {

        /// <remarks/>
        caps,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("gray-cards")]
        graycards,

        /// <remarks/>
        probes,

        /// <remarks/>
        straps,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("other-light-meter-accessories")]
        otherlightmeteraccessories,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum OtherAccessoryTripodStandAccessories
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("monopad-accessories")]
        monopadaccessories,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("camera-stand-accessories")]
        camerastandaccessories,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("tripod-head-accessories")]
        tripodheadaccessories,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("tripod-leg-accessories")]
        tripodlegaccessories,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("center-columns")]
        centercolumns,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("tripod-adapters")]
        tripodadapters,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("tripod-straps")]
        tripodstraps,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("camera-mounts-and-clamps")]
        cameramountsandclamps,

        /// <remarks/>
        plates,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("other-tripod-accessories")]
        othertripodaccessories,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum OtherAccessoryBinocularAccessories
    {

        /// <remarks/>
        straps,

        /// <remarks/>
        caps,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("other-binocular-accessories")]
        otherbinocularaccessories,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum OtherAccessorySpecificUses
    {

        /// <remarks/>
        travel,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("hiking-and-outdoors")]
        hikingandoutdoors,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("hunting-and-shooting")]
        huntingandshooting,

        /// <remarks/>
        sports,
    } 
    #endregion

    #region PhotoPaper
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
    public partial class PhotoPaper
    {

        private PhotoPaperPaperType paperTypeField;

        private bool paperTypeFieldSpecified;

        private PhotoPaperPaperBase paperBaseField;

        private bool paperBaseFieldSpecified;

        private PhotoPaperPaperSurface paperSurfaceField;

        private bool paperSurfaceFieldSpecified;

        private PhotoPaperPaperGrade paperGradeField;

        private bool paperGradeFieldSpecified;

        private PhotoPaperPaperSize paperSizeField;

        private bool paperSizeFieldSpecified;

        /// <remarks/>
        public PhotoPaperPaperType PaperType
        {
            get
            {
                return this.paperTypeField;
            }
            set
            {
                this.paperTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool PaperTypeSpecified
        {
            get
            {
                return this.paperTypeFieldSpecified;
            }
            set
            {
                this.paperTypeFieldSpecified = value;
            }
        }

        /// <remarks/>
        public PhotoPaperPaperBase PaperBase
        {
            get
            {
                return this.paperBaseField;
            }
            set
            {
                this.paperBaseField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool PaperBaseSpecified
        {
            get
            {
                return this.paperBaseFieldSpecified;
            }
            set
            {
                this.paperBaseFieldSpecified = value;
            }
        }

        /// <remarks/>
        public PhotoPaperPaperSurface PaperSurface
        {
            get
            {
                return this.paperSurfaceField;
            }
            set
            {
                this.paperSurfaceField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool PaperSurfaceSpecified
        {
            get
            {
                return this.paperSurfaceFieldSpecified;
            }
            set
            {
                this.paperSurfaceFieldSpecified = value;
            }
        }

        /// <remarks/>
        public PhotoPaperPaperGrade PaperGrade
        {
            get
            {
                return this.paperGradeField;
            }
            set
            {
                this.paperGradeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool PaperGradeSpecified
        {
            get
            {
                return this.paperGradeFieldSpecified;
            }
            set
            {
                this.paperGradeFieldSpecified = value;
            }
        }

        /// <remarks/>
        public PhotoPaperPaperSize PaperSize
        {
            get
            {
                return this.paperSizeField;
            }
            set
            {
                this.paperSizeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool PaperSizeSpecified
        {
            get
            {
                return this.paperSizeFieldSpecified;
            }
            set
            {
                this.paperSizeFieldSpecified = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum PhotoPaperPaperType
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("black-and-white")]
        blackandwhite,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("color-negative")]
        colornegative,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("color-reversal")]
        colorreversal,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("ra-chemistry")]
        rachemistry,

        /// <remarks/>
        other,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum PhotoPaperPaperBase
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("polyester-based")]
        polyesterbased,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("fiber-based")]
        fiberbased,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("resin-coated")]
        resincoated,

        /// <remarks/>
        other,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum PhotoPaperPaperSurface
    {

        /// <remarks/>
        glossy,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("semi-glossy")]
        semiglossy,

        /// <remarks/>
        matt,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("semi-matt")]
        semimatt,

        /// <remarks/>
        pearl,

        /// <remarks/>
        luster,

        /// <remarks/>
        satin,

        /// <remarks/>
        other,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum PhotoPaperPaperGrade
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("grade-0")]
        grade0,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("grade-1")]
        grade1,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("grade-2")]
        grade2,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("grade-3")]
        grade3,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("grade-4")]
        grade4,

        /// <remarks/>
        multigrade,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum PhotoPaperPaperSize
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("10x10")]
        Item10x10,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("10x12")]
        Item10x12,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("10x20")]
        Item10x20,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("11x14")]
        Item11x14,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("12x17")]
        Item12x17,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("16x20")]
        Item16x20,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("20x24")]
        Item20x24,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("20x30")]
        Item20x30,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("24x30")]
        Item24x30,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("3.5x5")]
        Item35x5,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("30x40")]
        Item30x40,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("4x5")]
        Item4x5,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("4x6")]
        Item4x6,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("5x7")]
        Item5x7,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("8.5x11")]
        Item85x11,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("8x10")]
        Item8x10,

        /// <remarks/>
        roll,

        /// <remarks/>
        other,
    } 
    #endregion

    #region PhotoStudio
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
    public partial class PhotoStudio
    {

        private PhotoStudioStorageAndPresentationMaterials storageAndPresentationMaterialsField;

        private bool storageAndPresentationMaterialsFieldSpecified;

        private PhotoStudioStudioSupplies studioSuppliesField;

        private bool studioSuppliesFieldSpecified;

        private PhotoStudioPhotoBackgrounds photoBackgroundsField;

        private bool photoBackgroundsFieldSpecified;

        private PhotoStudioPhotoBackgroundAccessories photoBackgroundAccessoriesField;

        private bool photoBackgroundAccessoriesFieldSpecified;

        private PhotoStudioPhotoBackgroundFabrics photoBackgroundFabricsField;

        private bool photoBackgroundFabricsFieldSpecified;

        private PhotoStudioPhotoStudioAccessories photoStudioAccessoriesField;

        private bool photoStudioAccessoriesFieldSpecified;

        /// <remarks/>
        public PhotoStudioStorageAndPresentationMaterials StorageAndPresentationMaterials
        {
            get
            {
                return this.storageAndPresentationMaterialsField;
            }
            set
            {
                this.storageAndPresentationMaterialsField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool StorageAndPresentationMaterialsSpecified
        {
            get
            {
                return this.storageAndPresentationMaterialsFieldSpecified;
            }
            set
            {
                this.storageAndPresentationMaterialsFieldSpecified = value;
            }
        }

        /// <remarks/>
        public PhotoStudioStudioSupplies StudioSupplies
        {
            get
            {
                return this.studioSuppliesField;
            }
            set
            {
                this.studioSuppliesField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool StudioSuppliesSpecified
        {
            get
            {
                return this.studioSuppliesFieldSpecified;
            }
            set
            {
                this.studioSuppliesFieldSpecified = value;
            }
        }

        /// <remarks/>
        public PhotoStudioPhotoBackgrounds PhotoBackgrounds
        {
            get
            {
                return this.photoBackgroundsField;
            }
            set
            {
                this.photoBackgroundsField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool PhotoBackgroundsSpecified
        {
            get
            {
                return this.photoBackgroundsFieldSpecified;
            }
            set
            {
                this.photoBackgroundsFieldSpecified = value;
            }
        }

        /// <remarks/>
        public PhotoStudioPhotoBackgroundAccessories PhotoBackgroundAccessories
        {
            get
            {
                return this.photoBackgroundAccessoriesField;
            }
            set
            {
                this.photoBackgroundAccessoriesField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool PhotoBackgroundAccessoriesSpecified
        {
            get
            {
                return this.photoBackgroundAccessoriesFieldSpecified;
            }
            set
            {
                this.photoBackgroundAccessoriesFieldSpecified = value;
            }
        }

        /// <remarks/>
        public PhotoStudioPhotoBackgroundFabrics PhotoBackgroundFabrics
        {
            get
            {
                return this.photoBackgroundFabricsField;
            }
            set
            {
                this.photoBackgroundFabricsField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool PhotoBackgroundFabricsSpecified
        {
            get
            {
                return this.photoBackgroundFabricsFieldSpecified;
            }
            set
            {
                this.photoBackgroundFabricsFieldSpecified = value;
            }
        }

        /// <remarks/>
        public PhotoStudioPhotoStudioAccessories PhotoStudioAccessories
        {
            get
            {
                return this.photoStudioAccessoriesField;
            }
            set
            {
                this.photoStudioAccessoriesField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool PhotoStudioAccessoriesSpecified
        {
            get
            {
                return this.photoStudioAccessoriesFieldSpecified;
            }
            set
            {
                this.photoStudioAccessoriesFieldSpecified = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum PhotoStudioStorageAndPresentationMaterials
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("hanging-bars")]
        hangingbars,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("pages-general")]
        pagesgeneral,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("negative-and-unmounted-slides-pages")]
        negativeandunmountedslidespages,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("mounted-slides-pages")]
        mountedslidespages,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("prints-pages")]
        printspages,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("other-media-pages")]
        othermediapages,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("sleeves-general")]
        sleevesgeneral,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("negative-and-unmounted-slides-sleeves")]
        negativeandunmountedslidessleeves,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("mounted-slides-sleeves")]
        mountedslidessleeves,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("prints-sleeves")]
        printssleeves,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("other-media-sleeves")]
        othermediasleeves,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("storage-binders-general")]
        storagebindersgeneral,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("storage-binders-with-rings")]
        storagebinderswithrings,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("storage-binders-without-rings")]
        storagebinderswithoutrings,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("negatives-boxes")]
        negativesboxes,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("slides-boxes")]
        slidesboxes,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("prints-boxes")]
        printsboxes,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("other-boxes")]
        otherboxes,

        /// <remarks/>
        portfolios,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("presentation-boards")]
        presentationboards,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("glassine-envelopes")]
        glassineenvelopes,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("kraft-envelopes")]
        kraftenvelopes,

        /// <remarks/>
        mailers,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("professional-photo-albums")]
        professionalphotoalbums,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("other-professional-albums")]
        otherprofessionalalbums,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("sectional-frames")]
        sectionalframes,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("digital-frames")]
        digitalframes,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("other-professional-frames")]
        otherprofessionalframes,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum PhotoStudioStudioSupplies
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("laminating-machines")]
        laminatingmachines,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("mounting-press")]
        mountingpress,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("mat-boards-general")]
        matboardsgeneral,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("pre-cut-mat-boards")]
        precutmatboards,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("heat-activated-boards")]
        heatactivatedboards,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("pressure-sensitive-boards")]
        pressuresensitiveboards,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("slide-mounters")]
        slidemounters,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("copystands-general")]
        copystandsgeneral,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("tabletop-copystands")]
        tabletopcopystands,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("instant-copystands")]
        instantcopystands,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("other-copystands")]
        othercopystands,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum PhotoStudioPhotoBackgrounds
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("ceiling-to-floor")]
        ceilingtofloor,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("collapsible-discs")]
        collapsiblediscs,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("free-standing")]
        freestanding,

        /// <remarks/>
        graduated,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("wall-mounted")]
        wallmounted,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("other-background-styles")]
        otherbackgroundstyles,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum PhotoStudioPhotoBackgroundAccessories
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("posing-props")]
        posingprops,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("shooting-tables")]
        shootingtables,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("shooting-tents")]
        shootingtents,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("studio-accessories")]
        studioaccessories,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("support-equipment")]
        supportequipment,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("other-background-accessories")]
        otherbackgroundaccessories,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum PhotoStudioPhotoBackgroundFabrics
    {

        /// <remarks/>
        canvas,

        /// <remarks/>
        muslins,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("seamless-paper")]
        seamlesspaper,

        /// <remarks/>
        velour,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("other-background-fabrics")]
        otherbackgroundfabrics,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum PhotoStudioPhotoStudioAccessories
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("mounting-corners")]
        mountingcorners,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("mounting-squares")]
        mountingsquares,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("photographic-tapes")]
        photographictapes,

        /// <remarks/>
        wire,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("picture-hangers")]
        picturehangers,

        /// <remarks/>
        mats,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("mat-cutters")]
        matcutters,

        /// <remarks/>
        trimmers,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("replacement-blades")]
        replacementblades,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("other-framing-accessories")]
        otherframingaccessories,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("mounts-general")]
        mountsgeneral,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("slide-mounts")]
        slidemounts,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("other-mounts")]
        othermounts,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("dry-mount-press-accessories")]
        drymountpressaccessories,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("mounting-adhesives-general")]
        mountingadhesivesgeneral,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("dry-mount-tissue")]
        drymounttissue,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("laminating-film")]
        laminatingfilm,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("print-finishing-lacquers")]
        printfinishinglacquers,
    } 
    #endregion

    #region PowerSupply
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
    public partial class PowerSupply
    {

        private PowerSupplyForUseWith forUseWithField;

        private bool forUseWithFieldSpecified;

        private PowerSupplyCameraPowerSupplyType cameraPowerSupplyTypeField;

        private bool cameraPowerSupplyTypeFieldSpecified;

        private PowerSupplyBatteryChemicalType batteryChemicalTypeField;

        private bool batteryChemicalTypeFieldSpecified;

        private PowerSupplyPowerSupplyAccessories powerSupplyAccessoriesField;

        private bool powerSupplyAccessoriesFieldSpecified;

        /// <remarks/>
        public PowerSupplyForUseWith ForUseWith
        {
            get
            {
                return this.forUseWithField;
            }
            set
            {
                this.forUseWithField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ForUseWithSpecified
        {
            get
            {
                return this.forUseWithFieldSpecified;
            }
            set
            {
                this.forUseWithFieldSpecified = value;
            }
        }

        /// <remarks/>
        public PowerSupplyCameraPowerSupplyType CameraPowerSupplyType
        {
            get
            {
                return this.cameraPowerSupplyTypeField;
            }
            set
            {
                this.cameraPowerSupplyTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool CameraPowerSupplyTypeSpecified
        {
            get
            {
                return this.cameraPowerSupplyTypeFieldSpecified;
            }
            set
            {
                this.cameraPowerSupplyTypeFieldSpecified = value;
            }
        }

        /// <remarks/>
        public PowerSupplyBatteryChemicalType BatteryChemicalType
        {
            get
            {
                return this.batteryChemicalTypeField;
            }
            set
            {
                this.batteryChemicalTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool BatteryChemicalTypeSpecified
        {
            get
            {
                return this.batteryChemicalTypeFieldSpecified;
            }
            set
            {
                this.batteryChemicalTypeFieldSpecified = value;
            }
        }

        /// <remarks/>
        public PowerSupplyPowerSupplyAccessories PowerSupplyAccessories
        {
            get
            {
                return this.powerSupplyAccessoriesField;
            }
            set
            {
                this.powerSupplyAccessoriesField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool PowerSupplyAccessoriesSpecified
        {
            get
            {
                return this.powerSupplyAccessoriesFieldSpecified;
            }
            set
            {
                this.powerSupplyAccessoriesFieldSpecified = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum PowerSupplyForUseWith
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("film-cameras")]
        filmcameras,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("digital-cameras")]
        digitalcameras,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("analog-camcorders-general")]
        analogcamcordersgeneral,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("8mm-camcorders")]
        Item8mmcamcorders,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("betacam-sp-camcorders")]
        betacamspcamcorders,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("hi-8-camcorders")]
        hi8camcorders,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("s-vhs-camcorders")]
        svhscamcorders,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("s-vhs-c-camcorders")]
        svhsccamcorders,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("vhs-camcorders")]
        vhscamcorders,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("vhs-c-camcorders")]
        vhsccamcorders,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("other-analog-formats-camcorders")]
        otheranalogformatscamcorders,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("digital-camcorders-general")]
        digitalcamcordersgeneral,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("digital-betacam-camcorders")]
        digitalbetacamcamcorders,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("dv-camcorders")]
        dvcamcorders,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("dvcam-camcorders")]
        dvcamcamcorders,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("dvcpro-camcorders")]
        dvcprocamcorders,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("minidv-camcorders")]
        minidvcamcorders,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("micromv-camcorders")]
        micromvcamcorders,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("digital8-camcorders")]
        digital8camcorders,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("dvd-camcorders")]
        dvdcamcorders,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("minidisc-camcorders")]
        minidisccamcorders,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("other-digital-formats-camcorders")]
        otherdigitalformatscamcorders,

        /// <remarks/>
        flashes,

        /// <remarks/>
        lighting,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("surveillence-products")]
        surveillenceproducts,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("other-products")]
        otherproducts,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum PowerSupplyCameraPowerSupplyType
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("batteries-general")]
        batteriesgeneral,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("disposable-batteries")]
        disposablebatteries,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("rechargeable-Batteries")]
        rechargeableBatteries,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("external-batteries")]
        externalbatteries,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("battery-packs-general")]
        batterypacksgeneral,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("shoulder-battery-packs")]
        shoulderbatterypacks,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("belt-battery-packs")]
        beltbatterypacks,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("dedicated-battery-packs")]
        dedicatedbatterypacks,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("other-batteries-and-packs")]
        otherbatteriesandpacks,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("adapters-general")]
        adaptersgeneral,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("ac-adapters")]
        acadapters,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("dc-adapters")]
        dcadapters,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("battery-chargers")]
        batterychargers,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("ac-power-supply")]
        acpowersupply,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("dc-power-supply")]
        dcpowersupply,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("other-power-supplies")]
        otherpowersupplies,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum PowerSupplyBatteryChemicalType
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("lead-acid")]
        leadacid,

        /// <remarks/>
        lithium,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("lithium-ion")]
        lithiumion,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("nickel-metal-hydride")]
        nickelmetalhydride,

        /// <remarks/>
        nicd,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("silver-oxide")]
        silveroxide,

        /// <remarks/>
        alkaline,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("other-battery-types")]
        otherbatterytypes,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum PowerSupplyPowerSupplyAccessories
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("battery-holders")]
        batteryholders,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("battery-testers")]
        batterytesters,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("mounting-plates")]
        mountingplates,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("cables-general")]
        cablesgeneral,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("battery-power-cables")]
        batterypowercables,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("power-supply-cables")]
        powersupplycables,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("charger-cables")]
        chargercables,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("adapter-cables")]
        adaptercables,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("other-cables")]
        othercables,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("cigarette-connectors")]
        cigaretteconnectors,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("xlr-connectors")]
        xlrconnectors,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("dc-couplers")]
        dccouplers,
    } 
    #endregion

    #region Projection
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
    public partial class Projection
    {

        private ProjectionProjectionType projectionTypeField;

        private bool projectionTypeFieldSpecified;

        private ProjectionLoupeMagnification loupeMagnificationField;

        private bool loupeMagnificationFieldSpecified;

        private ProjectionProjectorLenses projectorLensesField;

        private bool projectorLensesFieldSpecified;

        private ProjectionProjectionScreens projectionScreensField;

        private bool projectionScreensFieldSpecified;

        private ProjectionAudioVisualProductAccessories audioVisualProductAccessoriesField;

        private bool audioVisualProductAccessoriesFieldSpecified;

        /// <remarks/>
        public ProjectionProjectionType ProjectionType
        {
            get
            {
                return this.projectionTypeField;
            }
            set
            {
                this.projectionTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ProjectionTypeSpecified
        {
            get
            {
                return this.projectionTypeFieldSpecified;
            }
            set
            {
                this.projectionTypeFieldSpecified = value;
            }
        }

        /// <remarks/>
        public ProjectionLoupeMagnification LoupeMagnification
        {
            get
            {
                return this.loupeMagnificationField;
            }
            set
            {
                this.loupeMagnificationField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool LoupeMagnificationSpecified
        {
            get
            {
                return this.loupeMagnificationFieldSpecified;
            }
            set
            {
                this.loupeMagnificationFieldSpecified = value;
            }
        }

        /// <remarks/>
        public ProjectionProjectorLenses ProjectorLenses
        {
            get
            {
                return this.projectorLensesField;
            }
            set
            {
                this.projectorLensesField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ProjectorLensesSpecified
        {
            get
            {
                return this.projectorLensesFieldSpecified;
            }
            set
            {
                this.projectorLensesFieldSpecified = value;
            }
        }

        /// <remarks/>
        public ProjectionProjectionScreens ProjectionScreens
        {
            get
            {
                return this.projectionScreensField;
            }
            set
            {
                this.projectionScreensField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ProjectionScreensSpecified
        {
            get
            {
                return this.projectionScreensFieldSpecified;
            }
            set
            {
                this.projectionScreensFieldSpecified = value;
            }
        }

        /// <remarks/>
        public ProjectionAudioVisualProductAccessories AudioVisualProductAccessories
        {
            get
            {
                return this.audioVisualProductAccessoriesField;
            }
            set
            {
                this.audioVisualProductAccessoriesField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AudioVisualProductAccessoriesSpecified
        {
            get
            {
                return this.audioVisualProductAccessoriesFieldSpecified;
            }
            set
            {
                this.audioVisualProductAccessoriesFieldSpecified = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum ProjectionProjectionType
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("slide-projectors")]
        slideprojectors,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("video-projectors")]
        videoprojectors,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("large-format-projectors")]
        largeformatprojectors,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("medium-format-projectors")]
        mediumformatprojectors,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("multimedia-projectors")]
        multimediaprojectors,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("opaque-projectors")]
        opaqueprojectors,

        /// <remarks/>
        lightboxes,

        /// <remarks/>
        viewers,

        /// <remarks/>
        loupes,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum ProjectionLoupeMagnification
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("up-to-4x")]
        upto4x,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("5x-9x")]
        Item5x9x,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("10x-15x")]
        Item10x15x,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("above-15x")]
        above15x,

        /// <remarks/>
        zoom,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum ProjectionProjectorLenses
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("35mm")]
        Item35mm,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("large-format")]
        largeformat,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("medium-format")]
        mediumformat,

        /// <remarks/>
        normal,

        /// <remarks/>
        telephoto,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("wide-angle")]
        wideangle,

        /// <remarks/>
        zoom,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("other-projector-lenses")]
        otherprojectorlenses,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum ProjectionProjectionScreens
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("fast-fold-screens")]
        fastfoldscreens,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("free-standing-floor-screens")]
        freestandingfloorscreens,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("rear-projection-screens")]
        rearprojectionscreens,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("tabletop-screens")]
        tabletopscreens,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("tripod-mounted-screens")]
        tripodmountedscreens,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("wall-and-ceiling-electric-screens")]
        wallandceilingelectricscreens,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("wall-and-ceiling-screens")]
        wallandceilingscreens,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("other-projection-screens")]
        otherprojectionscreens,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum ProjectionAudioVisualProductAccessories
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("dissolve-and-control-units")]
        dissolveandcontrolunits,

        /// <remarks/>
        lamps,

        /// <remarks/>
        stands,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("mounting-equipment")]
        mountingequipment,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("other-accessories")]
        otheraccessories,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("projector-trays-general")]
        projectortraysgeneral,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("35mm-slide-projector-trays")]
        Item35mmslideprojectortrays,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("medium-format-slide-projector-trays")]
        mediumformatslideprojectortrays,
    } 
    #endregion

    #region SurveillanceSystem
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
    public partial class SurveillanceSystem
    {

        private SurveillanceSystemSurveillanceSystemType surveillanceSystemTypeField;

        private bool surveillanceSystemTypeFieldSpecified;

        private SurveillanceSystemCameraType cameraTypeField;

        private bool cameraTypeFieldSpecified;

        private SurveillanceSystemFeatures[] featuresField;

        private SurveillanceSystemCameraAccessories cameraAccessoriesField;

        private bool cameraAccessoriesFieldSpecified;

        /// <remarks/>
        public SurveillanceSystemSurveillanceSystemType SurveillanceSystemType
        {
            get
            {
                return this.surveillanceSystemTypeField;
            }
            set
            {
                this.surveillanceSystemTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool SurveillanceSystemTypeSpecified
        {
            get
            {
                return this.surveillanceSystemTypeFieldSpecified;
            }
            set
            {
                this.surveillanceSystemTypeFieldSpecified = value;
            }
        }

        /// <remarks/>
        public SurveillanceSystemCameraType CameraType
        {
            get
            {
                return this.cameraTypeField;
            }
            set
            {
                this.cameraTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool CameraTypeSpecified
        {
            get
            {
                return this.cameraTypeFieldSpecified;
            }
            set
            {
                this.cameraTypeFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Features")]
        public SurveillanceSystemFeatures[] Features
        {
            get
            {
                return this.featuresField;
            }
            set
            {
                this.featuresField = value;
            }
        }

        /// <remarks/>
        public SurveillanceSystemCameraAccessories CameraAccessories
        {
            get
            {
                return this.cameraAccessoriesField;
            }
            set
            {
                this.cameraAccessoriesField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool CameraAccessoriesSpecified
        {
            get
            {
                return this.cameraAccessoriesFieldSpecified;
            }
            set
            {
                this.cameraAccessoriesFieldSpecified = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum SurveillanceSystemSurveillanceSystemType
    {

        /// <remarks/>
        cameras,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("complete-systems")]
        completesystems,

        /// <remarks/>
        monitors,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("network-systems")]
        networksystems,

        /// <remarks/>
        multiplexer,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum SurveillanceSystemCameraType
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("security-cameras")]
        securitycameras,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("dummy-cameras")]
        dummycameras,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("bullet-cameras")]
        bulletcameras,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("web-cameras")]
        webcameras,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("mirror-image-cameras")]
        mirrorimagecameras,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("dome-cameras")]
        domecameras,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("spy-cameras")]
        spycameras,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("pinhole-cameras")]
        pinholecameras,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("miniature-cameras")]
        miniaturecameras,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("nanny-cameras")]
        nannycameras,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("pen-cameras")]
        pencameras,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum SurveillanceSystemFeatures
    {

        /// <remarks/>
        weatherproof,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("motion-detection")]
        motiondetection,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("real-time")]
        realtime,

        /// <remarks/>
        indoor,

        /// <remarks/>
        outdoor,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("black-and-white")]
        blackandwhite,

        /// <remarks/>
        color,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("night-vision")]
        nightvision,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("day-and-night-camera")]
        dayandnightcamera,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("adjustable-panning")]
        adjustablepanning,

        /// <remarks/>
        submersible,

        /// <remarks/>
        wireless,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("ptz-system")]
        ptzsystem,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("digital-spy-camera")]
        digitalspycamera,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum SurveillanceSystemCameraAccessories
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("mounting-brackets")]
        mountingbrackets,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("power-adapter")]
        poweradapter,

        /// <remarks/>
        cable,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("sun-shield")]
        sunshield,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("camera-controller")]
        cameracontroller,

        /// <remarks/>
        transmitters,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("zoom-lens")]
        zoomlens,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("pinhole-lens")]
        pinholelens,
    } 
    #endregion

    #region Telescope
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
    public partial class Telescope
    {

        private TelescopeTelescopeType[] telescopeTypeField;

        private ApertureDimension minApertureField;

        private ApertureDimension maxApertureField;

        private TelescopePrimaryAperture primaryApertureField;

        private bool primaryApertureFieldSpecified;

        private LengthDimension focalLengthField;

        private ResolvingPowerDimension resolvingPowerField;

        private string mountField;

        private ZoomDimension highestUsefulMagnificationField;

        private ZoomDimension lowestUsefulMagnificationField;

        private LengthDimension opticalTubeLengthField;

        private LengthDimension opticalTubeDiameterField;

        private string opticalCoatingsField;

        private string motorizedControlsField;

        private string viewfinderField;

        private string eyepieceTypeField;

        private string photographicResolutionField;

        private DawesLimitDimension dawesLimitField;

        private ComputerPlatform[] computerPlatformField;

        private string batteryTypeField;

        private bool batteryIncludedField;

        private bool batteryIncludedFieldSpecified;

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("TelescopeType")]
        public TelescopeTelescopeType[] TelescopeType
        {
            get
            {
                return this.telescopeTypeField;
            }
            set
            {
                this.telescopeTypeField = value;
            }
        }

        /// <remarks/>
        public ApertureDimension MinAperture
        {
            get
            {
                return this.minApertureField;
            }
            set
            {
                this.minApertureField = value;
            }
        }

        /// <remarks/>
        public ApertureDimension MaxAperture
        {
            get
            {
                return this.maxApertureField;
            }
            set
            {
                this.maxApertureField = value;
            }
        }

        /// <remarks/>
        public TelescopePrimaryAperture PrimaryAperture
        {
            get
            {
                return this.primaryApertureField;
            }
            set
            {
                this.primaryApertureField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool PrimaryApertureSpecified
        {
            get
            {
                return this.primaryApertureFieldSpecified;
            }
            set
            {
                this.primaryApertureFieldSpecified = value;
            }
        }

        /// <remarks/>
        public LengthDimension FocalLength
        {
            get
            {
                return this.focalLengthField;
            }
            set
            {
                this.focalLengthField = value;
            }
        }

        /// <remarks/>
        public ResolvingPowerDimension ResolvingPower
        {
            get
            {
                return this.resolvingPowerField;
            }
            set
            {
                this.resolvingPowerField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string Mount
        {
            get
            {
                return this.mountField;
            }
            set
            {
                this.mountField = value;
            }
        }

        /// <remarks/>
        public ZoomDimension HighestUsefulMagnification
        {
            get
            {
                return this.highestUsefulMagnificationField;
            }
            set
            {
                this.highestUsefulMagnificationField = value;
            }
        }

        /// <remarks/>
        public ZoomDimension LowestUsefulMagnification
        {
            get
            {
                return this.lowestUsefulMagnificationField;
            }
            set
            {
                this.lowestUsefulMagnificationField = value;
            }
        }

        /// <remarks/>
        public LengthDimension OpticalTubeLength
        {
            get
            {
                return this.opticalTubeLengthField;
            }
            set
            {
                this.opticalTubeLengthField = value;
            }
        }

        /// <remarks/>
        public LengthDimension OpticalTubeDiameter
        {
            get
            {
                return this.opticalTubeDiameterField;
            }
            set
            {
                this.opticalTubeDiameterField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string OpticalCoatings
        {
            get
            {
                return this.opticalCoatingsField;
            }
            set
            {
                this.opticalCoatingsField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string MotorizedControls
        {
            get
            {
                return this.motorizedControlsField;
            }
            set
            {
                this.motorizedControlsField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string Viewfinder
        {
            get
            {
                return this.viewfinderField;
            }
            set
            {
                this.viewfinderField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string EyepieceType
        {
            get
            {
                return this.eyepieceTypeField;
            }
            set
            {
                this.eyepieceTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string PhotographicResolution
        {
            get
            {
                return this.photographicResolutionField;
            }
            set
            {
                this.photographicResolutionField = value;
            }
        }

        /// <remarks/>
        public DawesLimitDimension DawesLimit
        {
            get
            {
                return this.dawesLimitField;
            }
            set
            {
                this.dawesLimitField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ComputerPlatform")]
        public ComputerPlatform[] ComputerPlatform
        {
            get
            {
                return this.computerPlatformField;
            }
            set
            {
                this.computerPlatformField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "normalizedString")]
        public string BatteryType
        {
            get
            {
                return this.batteryTypeField;
            }
            set
            {
                this.batteryTypeField = value;
            }
        }

        /// <remarks/>
        public bool BatteryIncluded
        {
            get
            {
                return this.batteryIncludedField;
            }
            set
            {
                this.batteryIncludedField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool BatteryIncludedSpecified
        {
            get
            {
                return this.batteryIncludedFieldSpecified;
            }
            set
            {
                this.batteryIncludedFieldSpecified = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum TelescopeTelescopeType
    {

        /// <remarks/>
        general,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("mirror-lens")]
        mirrorlens,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("schmidt-cassegrain")]
        schmidtcassegrain,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("maksutov-cassegrain")]
        maksutovcassegrain,

        /// <remarks/>
        reflecting,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("newtonian-reflector")]
        newtonianreflector,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("rich-field-reflector")]
        richfieldreflector,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("dobsonian-reflector")]
        dobsonianreflector,

        /// <remarks/>
        refracting,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("achromatic-refractor")]
        achromaticrefractor,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("apochromatic-refractor")]
        apochromaticrefractor,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum TelescopePrimaryAperture
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("under-80mm")]
        under80mm,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("80mm-90mm")]
        Item80mm90mm,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("100mm-150mm")]
        Item100mm150mm,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("150mm-200mm")]
        Item150mm200mm,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("over-200mm")]
        over200mm,
    } 
    #endregion

    #region TripodStand
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
    public partial class TripodStand
    {

        private TripodStandForUseWith forUseWithField;

        private bool forUseWithFieldSpecified;

        private TripodStandStandType standTypeField;

        private bool standTypeFieldSpecified;

        private TripodStandSpecificUses specificUsesField;

        private bool specificUsesFieldSpecified;

        private TripodStandMaterial materialField;

        private bool materialFieldSpecified;

        private TripodStandHeadType headTypeField;

        private bool headTypeFieldSpecified;

        private TripodStandPackageType packageTypeField;

        private bool packageTypeFieldSpecified;

        /// <remarks/>
        public TripodStandForUseWith ForUseWith
        {
            get
            {
                return this.forUseWithField;
            }
            set
            {
                this.forUseWithField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ForUseWithSpecified
        {
            get
            {
                return this.forUseWithFieldSpecified;
            }
            set
            {
                this.forUseWithFieldSpecified = value;
            }
        }

        /// <remarks/>
        public TripodStandStandType StandType
        {
            get
            {
                return this.standTypeField;
            }
            set
            {
                this.standTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool StandTypeSpecified
        {
            get
            {
                return this.standTypeFieldSpecified;
            }
            set
            {
                this.standTypeFieldSpecified = value;
            }
        }

        /// <remarks/>
        public TripodStandSpecificUses SpecificUses
        {
            get
            {
                return this.specificUsesField;
            }
            set
            {
                this.specificUsesField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool SpecificUsesSpecified
        {
            get
            {
                return this.specificUsesFieldSpecified;
            }
            set
            {
                this.specificUsesFieldSpecified = value;
            }
        }

        /// <remarks/>
        public TripodStandMaterial Material
        {
            get
            {
                return this.materialField;
            }
            set
            {
                this.materialField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool MaterialSpecified
        {
            get
            {
                return this.materialFieldSpecified;
            }
            set
            {
                this.materialFieldSpecified = value;
            }
        }

        /// <remarks/>
        public TripodStandHeadType HeadType
        {
            get
            {
                return this.headTypeField;
            }
            set
            {
                this.headTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool HeadTypeSpecified
        {
            get
            {
                return this.headTypeFieldSpecified;
            }
            set
            {
                this.headTypeFieldSpecified = value;
            }
        }

        /// <remarks/>
        public TripodStandPackageType PackageType
        {
            get
            {
                return this.packageTypeField;
            }
            set
            {
                this.packageTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool PackageTypeSpecified
        {
            get
            {
                return this.packageTypeFieldSpecified;
            }
            set
            {
                this.packageTypeFieldSpecified = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum TripodStandForUseWith
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("still-cameras")]
        stillcameras,

        /// <remarks/>
        camcorders,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("still-camera-and-camcorders")]
        stillcameraandcamcorders,

        /// <remarks/>
        telescopes,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum TripodStandStandType
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("camera-stands")]
        camerastands,

        /// <remarks/>
        monopods,

        /// <remarks/>
        tripods,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("car-window-mounts")]
        carwindowmounts,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum TripodStandSpecificUses
    {

        /// <remarks/>
        tabletop,

        /// <remarks/>
        travel,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("hiking-and-outdoors")]
        hikingandoutdoors,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("hunting-and-shooting")]
        huntingandshooting,

        /// <remarks/>
        sports,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum TripodStandMaterial
    {

        /// <remarks/>
        aluminum,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("carbon-fiber")]
        carbonfiber,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum TripodStandHeadType
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("geared-heads")]
        gearedheads,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("ball-heads")]
        ballheads,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("camera-rotator-heads")]
        camerarotatorheads,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("pan-and-tilt-heads")]
        panandtiltheads,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("video-heads")]
        videoheads,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("3-way-heads")]
        Item3wayheads,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("panoramic-heads")]
        panoramicheads,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum TripodStandPackageType
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("head-only")]
        headonly,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("legs-only")]
        legsonly,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("head-and-leg-units")]
        headandlegunits,
    } 
    #endregion
    #endregion
}
